diff --git a/.github/workflows/privacy-review.yml b/.github/workflows/privacy-review.yml new file mode 100644 index 0000000..d73d922 --- /dev/null +++ b/.github/workflows/privacy-review.yml @@ -0,0 +1,56 @@ +name: Start Privacy Review +on: + workflow_call: + inputs: + team_name: + required: true + type: string + ref: + required: false + type: string + secrets: + asana_pat: + required: true + github_pat: + required: true + +jobs: + start-privacy-review: + runs-on: ubuntu-latest + steps: + - name: Checkout actions repo # required so we can reference the actions locally + uses: actions/checkout@v4 + with: + ref: ${{ inputs.ref }} + path: actions + repository: duckduckgo/native-github-asana-sync + + - name: Get PR author Asana ID + uses: ./actions + id: get-author-asana-id + with: + github-pat: ${{ secrets.github_pat }} + action: 'get-asana-user-id' + + - name: Create Privacy Review task + uses: ./actions + id: create-review-task + with: + asana-pat: ${{ secrets.asana_pat }} + asana-project: '69071770703008' + asana-tags: '1208613272217946' + asana-collaborators: '${{ steps.get-author-asana-id.outputs.asanaUserId }}' + asana-task-name: 'Privacy Triage: ${{ inputs.team_name }} - ${{ github.event.pull_request.title }}' + asana-task-description: 'PR: ${{ github.event.pull_request.html_url }}/files?file-filters[]=.json&file-filters[]=.json5' + action: 'create-asana-task' + + - name: Add Privacy Review task to PR + uses: actions/github-script@v7 + with: + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: 'Privacy Review task: https://app.asana.com/0/69071770703008/${{steps.create-review-task.outputs.taskId}}' + }) diff --git a/.gitignore b/.gitignore index 025440b..d89d28b 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,7 @@ bower_components build/Release # Dependency directories +node_modules/ jspm_packages/ # TypeScript v1 declaration files diff --git a/README.md b/README.md index e47cfdd..7a05eb8 100644 --- a/README.md +++ b/README.md @@ -256,8 +256,11 @@ The Asana section ID in the Asana Project **Required** Name of the Asana task ### `asana-task-description` **Required** Description of the Asana task -### `asana-tag` -ID of Asana tag to be added to the task i.e. https://app.asana.com/0/1208613272217946/ +### `asana-tags` +Comma-separated IDs of Asana tags to be added to the task i.e. https://app.asana.com/0/1208613272217946/ +### `asana-collaborators` +Comma-separated Asana user IDs to be added as collaborators to the task +* Note: you can use https://app.asana.com/api/1.0/users/me to find your ID. Replace `me` with an email to find someone else's #### Example Usage @@ -280,3 +283,41 @@ jobs: asana-tag: 'Tag Id' action: 'create-asana-task' ``` + +### Get Asana user ID +Returns Asana user ID for a provided Github username + +### `github-pat` +**Required** Github public access token +### `github-username` +Github user to lookup; PR author by default + +#### Example Usage + +```yaml +on: + pull_request: + types: [ labeled ] + +jobs: + test-job: + runs-on: ubuntu-latest + steps: + - name: Get PR author Asana ID + uses: ./actions + id: get-author-asana-id + with: + github-pat: ${{ secrets.github_pat }} + action: 'get-asana-user-id' + + - name: Use Asana ID from above step + with: + asana-collaborators: '${{ steps.get-author-asana-id.outputs.asanaUserId }}' +``` + +## Building +Run once: `npm i -g @vercel/ncc` + +Run before pushing changes: `ncc build index.js` + +More info: https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-javascript-action#commit-tag-and-push-your-action-to-github diff --git a/action.js b/action.js index fda031c..e98dec6 100644 --- a/action.js +++ b/action.js @@ -2,6 +2,7 @@ const core = require('@actions/core'); const github = require('@actions/github'); const octokit = require('@octokit/core'); const asana = require('asana'); +const yaml = require('js-yaml'); function buildAsanaClient() { const ASANA_PAT = core.getInput('asana-pat'); @@ -17,6 +18,10 @@ function buildGithubClient(githubPAT){ }) } +function getArrayFromInput(input) { + return input ? input.split(',') : []; +} + function findAsanaTasks(){ const TRIGGER_PHRASE = core.getInput('trigger-phrase'), @@ -227,7 +232,6 @@ async function getLatestRepositoryRelease(){ console.log(REPO, `can't find latest version ${error}`) core.setFailed(`can't find latest version for ${REPO}`); } - } async function findTaskInSection(client, sectionId, name) { @@ -250,11 +254,13 @@ async function findTaskInSection(client, sectionId, name) { return existingTaskId } -async function createTask(client, name, description, projectId, sectionId = '', tag = '') { +async function createTask(client, name, description, projectId, sectionId = '', tags = [], collaborators = []) { const taskOpts = { name: name, notes: description, projects: [projectId], + tags, + followers: collaborators, pretty: true }; @@ -271,10 +277,7 @@ async function createTask(client, name, description, projectId, sectionId = '', taskOpts.memberships = [{project: projectId, section: sectionId}]; } - if (tag != '') - taskOpts.tags = [tag]; - - console.log(`creating new task with section='${sectionId}' and tag='${tag}'`); + console.log(`creating new task with options:='${JSON.stringify(taskOpts)}'`); let createdTaskId = "0" try { await client.tasks.createTask(taskOpts) @@ -298,9 +301,10 @@ async function createAsanaTask(){ sectionId = core.getInput('asana-section'), taskName = core.getInput('asana-task-name', {required: true}), taskDescription = core.getInput('asana-task-description', {required: true}), - tag = core.getInput('asana-tag'); + tags = getArrayFromInput(core.getInput('asana-tags')), + collaborators = getArrayFromInput(core.getInput('asana-collaborators')); - return createTask(client, taskName, taskDescription, projectId, sectionId, tag); + return createTask(client, taskName, taskDescription, projectId, sectionId, tags, collaborators); } async function addTaskPRDescription(){ @@ -341,6 +345,36 @@ async function addTaskPRDescription(){ } +async function getAsanaUserID() { + const + ghUsername = core.getInput('github-username') || github.context.payload.pull_request.user.login, + GITHUB_PAT = core.getInput('github-pat', {required: true}), + githubClient = buildGithubClient(GITHUB_PAT), + ORG = 'duckduckgo', + REPO = 'internal-github-asana-utils'; + + console.log(`Looking up Asana user ID for ${ghUsername}`); + try { + await githubClient.request('GET /repos/{owner}/{repo}/contents/user_map.yml', { + owner: ORG, + repo: REPO, + headers: { + 'X-GitHub-Api-Version': '2022-11-28', + 'Accept': 'application/vnd.github.raw+json' + } + }).then((response) => { + const userMap = yaml.load(response.data); + if (ghUsername in userMap) { + core.setOutput('asanaUserId', userMap[ghUsername]); + } else { + core.setFailed(`User ${ghUsername} not found in user map`); + } + }); + } catch (error) { + core.setFailed(error); + } +} + async function action() { const ACTION = core.getInput('action', {required: true}); console.info('calling', ACTION); @@ -386,6 +420,10 @@ async function action() { addTaskPRDescription(); break; } + case 'get-asana-user-id': { + getAsanaUserID(); + break; + } default: core.setFailed(`unexpected action ${ACTION}`); } diff --git a/action.yml b/action.yml index 6f14737..71f1d58 100644 --- a/action.yml +++ b/action.yml @@ -22,8 +22,11 @@ inputs: asana-task-description: description: 'Description of the Asana task you want to create.' required: false - asana-tag: - description: 'Tag to be added to the Asana task.' + asana-tags: + description: 'Comma-separated tags to be added to the Asana task.' + required: false + asana-collaborators: + description: 'Comma-separated Asana user IDs or emails of users to be added as followers.' required: false trigger-phrase: description: 'Prefix used to identify Asana tasks (URL).' @@ -34,7 +37,10 @@ inputs: github-org: description: 'Github Organisation where the repository is hosted, to check for the latest release.' required: false + github-username: + description: 'Github Username.' + required: false runs: using: 'node20' - main: 'index.js' \ No newline at end of file + main: 'dist/index.js' \ No newline at end of file diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..271dba8 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,102293 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 48027: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +const core = __nccwpck_require__(66201); +const github = __nccwpck_require__(25469); +const octokit = __nccwpck_require__(32662); +const asana = __nccwpck_require__(84685); +const yaml = __nccwpck_require__(56018); + +function buildAsanaClient() { + const ASANA_PAT = core.getInput('asana-pat'); + return asana.Client.create({ + defaultHeaders: { 'asana-enable': 'new-sections,string_ids' }, + logAsanaChangeWarnings: false + }).useAccessToken(ASANA_PAT).authorize(); +} + +function buildGithubClient(githubPAT){ + return new octokit.Octokit({ + auth: githubPAT + }) +} + +function getArrayFromInput(input) { + return input ? input.split(',') : []; +} + +function findAsanaTasks(){ + const + TRIGGER_PHRASE = core.getInput('trigger-phrase'), + PULL_REQUEST = github.context.payload.pull_request, + REGEX_STRING = `${TRIGGER_PHRASE} https:\\/\\/app.asana.com\\/(\\d+)\\/(?\\d+)\\/(?\\d+).*?`, + REGEX = new RegExp(REGEX_STRING, 'g'); + + console.info('looking for asana task link in body', PULL_REQUEST.body, 'regex', REGEX_STRING); + let foundTasks = []; + while((parseAsanaUrl = REGEX.exec(PULL_REQUEST.body)) !== null) { + const taskId = parseAsanaUrl.groups.task; + if (!taskId) { + core.error(`Invalid Asana task URL after trigger-phrase ${TRIGGER_PHRASE}`); + continue; + } + foundTasks.push(taskId); + } + console.info(`found ${foundTasks.length} tasksIds:`, foundTasks.join(',')); + return foundTasks +} + +async function createStory(client, taskId, text, isPinned) { + try { + return await client.stories.createStoryForTask(taskId, { + text: text, + is_pinned: isPinned, + }); + } catch (error) { + console.error('rejecting promise', error); + } +} + +async function createTaskWithComment(client, name, description, comment, projectId) { + try { + client.tasks.createTask({name: name, + notes: description, + projects: [projectId], + pretty: true}) + .then((result) => { + console.log('task created', result.gid); + return createStory(client, result.gid, comment, true) + }) + } catch (error) { + console.error('rejecting promise', error); + } +} + +async function createIssueTask(){ + const client = await buildAsanaClient(); + const ISSUE = github.context.payload.issue; + const ASANA_PROJECT_ID = core.getInput('asana-project', {required: true}); + + console.info('creating asana task from issue', ISSUE.title); + + const TASK_DESCRIPTION = `Description: ${ISSUE.body}`; + const TASK_NAME = `Github Issue: ${ISSUE.title}`; + const TASK_COMMENT = `Link to Issue: ${ISSUE.html_url}`; + + return createTaskWithComment(client, TASK_NAME, TASK_DESCRIPTION, TASK_COMMENT, ASANA_PROJECT_ID) +} + + +async function notifyPRApproved(){ + const client = await buildAsanaClient(); + const + PULL_REQUEST = github.context.payload.pull_request, + TASK_COMMENT = `PR: ${PULL_REQUEST.html_url} has been approved`; + + const foundTasks = findAsanaTasks() + + const comments = []; + for (const taskId of foundTasks) { + const comment = createStory(client, taskId, TASK_COMMENT, false) + comments.push(comment) + } + return comments; +} + +async function addTaskToAsanaProject(){ + const client = await buildAsanaClient(); + + const projectId = core.getInput('asana-project', {required: true}); + const sectionId = core.getInput('asana-section'); + const taskId = core.getInput('asana-task-id', {required: true}); + + addTaskToProject(client, taskId, projectId, sectionId) +} + +async function addTaskToProject(client, taskId, projectId, sectionId){ + if (!sectionId){ + console.info('adding asana task to project', projectId); + try { + return await client.tasks.addProjectForTask(taskId, { + project: projectId, + insert_after: null + }); + } catch (error) { + console.error('rejecting promise', error); + } + } else { + console.info(`adding asana task to top of section ${sectionId} in project ${projectId}`); + try { + return await client.tasks.addProjectForTask(taskId, { + project: projectId + }) + .then((result) => { + client.sections.addTaskForSection(sectionId, {task: taskId}) + .then((result) => { + console.log(result); + }); + }); + } catch (error) { + console.error('rejecting promise', error); + } + } +} + +async function addCommentToPRTask(){ + const + PULL_REQUEST = github.context.payload.pull_request, + TASK_COMMENT = `PR: ${PULL_REQUEST.html_url}`, + isPinned = core.getInput('is-pinned') === 'true'; + + const client = await buildAsanaClient(); + + const foundTasks = findAsanaTasks() + + const comments = []; + for (const taskId of foundTasks) { + const comment = createStory(client, taskId, TASK_COMMENT, isPinned) + comments.push(comment) + } + return comments; +} + +async function createPullRequestTask(){ + const client = await buildAsanaClient(); + const PULL_REQUEST = github.context.payload.pull_request; + const ASANA_PROJECT_ID = core.getInput('asana-project', {required: true}); + + console.info('creating asana task from pull request', PULL_REQUEST.title); + + const TASK_DESCRIPTION = `Description: ${PULL_REQUEST.body}`; + const TASK_NAME = `Community Pull Request: ${PULL_REQUEST.title}`; + const TASK_COMMENT = `Link to Pull Request: ${PULL_REQUEST.html_url}`; + + return createTaskWithComment(client, TASK_NAME, TASK_DESCRIPTION, TASK_COMMENT, ASANA_PROJECT_ID) +} + +async function completePRTask(){ + const client = await buildAsanaClient(); + const isComplete = core.getInput('is-complete') === 'true'; + + const foundTasks = findAsanaTasks() + + const taskIds = []; + for(const taskId of foundTasks) { + console.info("marking task", taskId, isComplete ? 'complete' : 'incomplete'); + try { + await client.tasks.update(taskId, { + completed: isComplete + }); + } catch (error) { + console.error('rejecting promise', error); + } + taskIds.push(taskId); + } + return taskIds; +} + +async function checkPRMembership(){ + const + PULL_REQUEST = github.context.payload.pull_request, + ORG = PULL_REQUEST.base.repo.owner.login, + USER = PULL_REQUEST.user.login; + HEAD = PULL_REQUEST.head.user.login + + console.info(`PR opened/reopened by ${USER}, checking membership in ${ORG}`); + if (HEAD === ORG){ + console.log(author, `belongs to duckduckgo}`) + core.setOutput('external', false) + } else { + console.log(author, `does not belong to duckduckgo}`) + core.setOutput('external', true) + } +} + +async function getLatestRepositoryRelease(){ + const + GITHUB_PAT = core.getInput('github-pat', {required: true}), + githubClient = buildGithubClient(GITHUB_PAT), + ORG = core.getInput('github-org', {required: true}), + REPO = core.getInput('github-repository', {required: true}); + + try { + await githubClient.request('GET /repos/{owner}/{repo}/releases/latest', { + owner: ORG, + repo: REPO, + headers: { + 'X-GitHub-Api-Version': '2022-11-28' + } + }).then((response) => { + const version = response.data.tag_name + console.log(REPO, `latest version is ${version}`) + core.setOutput('version', version) + }); + } catch (error) { + console.log(REPO, `can't find latest version ${error}`) + core.setFailed(`can't find latest version for ${REPO}`); + } +} + +async function findTaskInSection(client, sectionId, name) { + let existingTaskId = "0" + try { + console.log('searching tasks in section', sectionId); + await client.tasks.getTasksForSection(sectionId).then((result) => { + const task = result.data.find(task => task.name === name); + if (!task){ + console.log("task not found") + existingTaskId = "0" + } else { + console.info('task found', task.gid); + existingTaskId = task.gid + } + }); + } catch (error) { + console.error('rejecting promise', error); + } + return existingTaskId +} + +async function createTask(client, name, description, projectId, sectionId = '', tags = [], collaborators = []) { + const taskOpts = { + name: name, + notes: description, + projects: [projectId], + tags, + followers: collaborators, + pretty: true + }; + + if (sectionId != '') { + console.log('checking for duplicate task before creating a new one', name); + let existingTaskId = await findTaskInSection(client, sectionId, name) + if (existingTaskId != "0") { + console.log("task already exists, skipping") + core.setOutput('taskId', existingTaskId) + core.setOutput('duplicate', true) + return existingTaskId; + } + + taskOpts.memberships = [{project: projectId, section: sectionId}]; + } + + console.log(`creating new task with options:='${JSON.stringify(taskOpts)}'`); + let createdTaskId = "0" + try { + await client.tasks.createTask(taskOpts) + .then((result) => { + createdTaskId = result.gid + console.log('task created', createdTaskId); + core.setOutput('taskId', createdTaskId); + core.setOutput('duplicate', false); + }) + } catch (error) { + console.error('rejecting promise', error); + } + return createdTaskId +} + +async function createAsanaTask(){ + const client = await buildAsanaClient(); + + const + projectId = core.getInput('asana-project', {required: true}), + sectionId = core.getInput('asana-section'), + taskName = core.getInput('asana-task-name', {required: true}), + taskDescription = core.getInput('asana-task-description', {required: true}), + tags = getArrayFromInput(core.getInput('asana-tags')), + collaborators = getArrayFromInput(core.getInput('asana-collaborators')); + + return createTask(client, taskName, taskDescription, projectId, sectionId, tags, collaborators); +} + +async function addTaskPRDescription(){ + const + GITHUB_PAT = core.getInput('github-pat'), + githubClient = buildGithubClient(GITHUB_PAT), + ORG = core.getInput('github-org', {required: true}), + REPO = core.getInput('github-repository', {required: true}), + PR = core.getInput('github-pr', {required: true}), + projectId = core.getInput('asana-project', {required: true}), + taskId = core.getInput('asana-task-id', {required: true}); + + githubClient.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', { + owner: ORG, + repo: REPO, + pull_number: PR, + headers: { + 'X-GitHub-Api-Version': '2022-11-28' + } + }).then((response) => { + console.log(response.data.body); + const body = response.data.body; + const asanaTaskMessage = `Task/Issue URL: https://app.asana.com/0/${projectId}/${taskId}/f`; + const updatedBody = `${asanaTaskMessage} \n\n ----- \n${body}`; + + githubClient.request('PATCH /repos/{owner}/{repo}/pulls/{pull_number}', { + owner: ORG, + repo: REPO, + pull_number: PR, + body: updatedBody, + headers: { + 'X-GitHub-Api-Version': '2022-11-28' + } + }) + .catch((error) => core.error(error)); + + }); + +} + +async function getAsanaUserID() { + const + ghUsername = core.getInput('github-username') || github.context.payload.pull_request.user.login, + GITHUB_PAT = core.getInput('github-pat', {required: true}), + githubClient = buildGithubClient(GITHUB_PAT), + ORG = 'duckduckgo', + REPO = 'internal-github-asana-utils'; + + console.log(`Looking up Asana user ID for ${ghUsername}`); + try { + await githubClient.request('GET /repos/{owner}/{repo}/contents/user_map.yml', { + owner: ORG, + repo: REPO, + headers: { + 'X-GitHub-Api-Version': '2022-11-28', + 'Accept': 'application/vnd.github.raw+json' + } + }).then((response) => { + const userMap = yaml.load(response.data); + if (ghUsername in userMap) { + core.setOutput('asanaUserId', userMap[ghUsername]); + } else { + core.setFailed(`User ${ghUsername} not found in user map`); + } + }); + } catch (error) { + core.setFailed(error); + } +} + +async function action() { + const ACTION = core.getInput('action', {required: true}); + console.info('calling', ACTION); + + switch (ACTION) { + case 'create-asana-issue-task': { + createIssueTask(); + break; + } + case 'notify-pr-approved': { + notifyPRApproved(); + break; + } + case 'notify-pr-merged': { + completePRTask() + break; + } + case 'check-pr-membership': { + checkPRMembership(); + break; + } + case 'add-asana-comment': { + addCommentToPRTask(); + break; + } + case 'add-task-asana-project': { + addTaskToAsanaProject(); + break; + } + case 'create-asana-pr-task': { + createPullRequestTask(); + break; + } + case 'get-latest-repo-release': { + getLatestRepositoryRelease(); + break; + } + case 'create-asana-task': { + createAsanaTask(); + break; + } + case 'add-task-pr-description': { + addTaskPRDescription(); + break; + } + case 'get-asana-user-id': { + getAsanaUserID(); + break; + } + default: + core.setFailed(`unexpected action ${ACTION}`); + } +} + +module.exports = { + action, + default: action, +}; + + +/***/ }), + +/***/ 9813: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.issue = exports.issueCommand = void 0; +const os = __importStar(__nccwpck_require__(70857)); +const utils_1 = __nccwpck_require__(78025); +/** + * Commands + * + * Command Format: + * ::name key=value,key=value::message + * + * Examples: + * ::warning::This is the message + * ::set-env name=MY_VAR::some value + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message = '') { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_STRING = '::'; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + let first = true; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + if (first) { + first = false; + } + else { + cmdStr += ','; + } + cmdStr += `${key}=${escapeProperty(val)}`; + } + } + } + } + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; + return cmdStr; + } +} +function escapeData(s) { + return (0, utils_1.toCommandValue)(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A'); +} +function escapeProperty(s) { + return (0, utils_1.toCommandValue)(s) + .replace(/%/g, '%25') + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/:/g, '%3A') + .replace(/,/g, '%2C'); +} +//# sourceMappingURL=command.js.map + +/***/ }), + +/***/ 66201: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.platform = exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = exports.markdownSummary = exports.summary = exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; +const command_1 = __nccwpck_require__(9813); +const file_command_1 = __nccwpck_require__(3464); +const utils_1 = __nccwpck_require__(78025); +const os = __importStar(__nccwpck_require__(70857)); +const path = __importStar(__nccwpck_require__(16928)); +const oidc_utils_1 = __nccwpck_require__(25551); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode || (exports.ExitCode = ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function exportVariable(name, val) { + const convertedVal = (0, utils_1.toCommandValue)(val); + process.env[name] = convertedVal; + const filePath = process.env['GITHUB_ENV'] || ''; + if (filePath) { + return (0, file_command_1.issueFileCommand)('ENV', (0, file_command_1.prepareKeyValueMessage)(name, val)); + } + (0, command_1.issueCommand)('set-env', { name }, convertedVal); +} +exports.exportVariable = exportVariable; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +function setSecret(secret) { + (0, command_1.issueCommand)('add-mask', {}, secret); +} +exports.setSecret = setSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + const filePath = process.env['GITHUB_PATH'] || ''; + if (filePath) { + (0, file_command_1.issueFileCommand)('PATH', inputPath); + } + else { + (0, command_1.issueCommand)('add-path', {}, inputPath); + } + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. + * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed. + * Returns an empty string if the value is not defined. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + if (options && options.trimWhitespace === false) { + return val; + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Gets the values of an multiline input. Each value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string[] + * + */ +function getMultilineInput(name, options) { + const inputs = getInput(name, options) + .split('\n') + .filter(x => x !== ''); + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map(input => input.trim()); +} +exports.getMultilineInput = getMultilineInput; +/** + * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification. + * Support boolean input list: `true | True | TRUE | false | False | FALSE` . + * The return value is also in boolean type. + * ref: https://yaml.org/spec/1.2/spec.html#id2804923 + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns boolean + */ +function getBooleanInput(name, options) { + const trueValue = ['true', 'True', 'TRUE']; + const falseValue = ['false', 'False', 'FALSE']; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` + + `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); +} +exports.getBooleanInput = getBooleanInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function setOutput(name, value) { + const filePath = process.env['GITHUB_OUTPUT'] || ''; + if (filePath) { + return (0, file_command_1.issueFileCommand)('OUTPUT', (0, file_command_1.prepareKeyValueMessage)(name, value)); + } + process.stdout.write(os.EOL); + (0, command_1.issueCommand)('set-output', { name }, (0, utils_1.toCommandValue)(value)); +} +exports.setOutput = setOutput; +/** + * Enables or disables the echoing of commands into stdout for the rest of the step. + * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. + * + */ +function setCommandEcho(enabled) { + (0, command_1.issue)('echo', enabled ? 'on' : 'off'); +} +exports.setCommandEcho = setCommandEcho; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Gets whether Actions Step Debug is on or not + */ +function isDebug() { + return process.env['RUNNER_DEBUG'] === '1'; +} +exports.isDebug = isDebug; +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + (0, command_1.issueCommand)('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function error(message, properties = {}) { + (0, command_1.issueCommand)('error', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); +} +exports.error = error; +/** + * Adds a warning issue + * @param message warning issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function warning(message, properties = {}) { + (0, command_1.issueCommand)('warning', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); +} +exports.warning = warning; +/** + * Adds a notice issue + * @param message notice issue message. Errors will be converted to string via toString() + * @param properties optional properties to add to the annotation. + */ +function notice(message, properties = {}) { + (0, command_1.issueCommand)('notice', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message); +} +exports.notice = notice; +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + os.EOL); +} +exports.info = info; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + (0, command_1.issue)('group', name); +} +exports.startGroup = startGroup; +/** + * End an output group. + */ +function endGroup() { + (0, command_1.issue)('endgroup'); +} +exports.endGroup = endGroup; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } + finally { + endGroup(); + } + return result; + }); +} +exports.group = group; +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store. Non-string values will be converted to a string via JSON.stringify + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function saveState(name, value) { + const filePath = process.env['GITHUB_STATE'] || ''; + if (filePath) { + return (0, file_command_1.issueFileCommand)('STATE', (0, file_command_1.prepareKeyValueMessage)(name, value)); + } + (0, command_1.issueCommand)('save-state', { name }, (0, utils_1.toCommandValue)(value)); +} +exports.saveState = saveState; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env[`STATE_${name}`] || ''; +} +exports.getState = getState; +function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); +} +exports.getIDToken = getIDToken; +/** + * Summary exports + */ +var summary_1 = __nccwpck_require__(53016); +Object.defineProperty(exports, "summary", ({ enumerable: true, get: function () { return summary_1.summary; } })); +/** + * @deprecated use core.summary + */ +var summary_2 = __nccwpck_require__(53016); +Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function () { return summary_2.markdownSummary; } })); +/** + * Path exports + */ +var path_utils_1 = __nccwpck_require__(72229); +Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function () { return path_utils_1.toPosixPath; } })); +Object.defineProperty(exports, "toWin32Path", ({ enumerable: true, get: function () { return path_utils_1.toWin32Path; } })); +Object.defineProperty(exports, "toPlatformPath", ({ enumerable: true, get: function () { return path_utils_1.toPlatformPath; } })); +/** + * Platform utilities exports + */ +exports.platform = __importStar(__nccwpck_require__(57869)); +//# sourceMappingURL=core.js.map + +/***/ }), + +/***/ 3464: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +// For internal use, subject to change. +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +const crypto = __importStar(__nccwpck_require__(76982)); +const fs = __importStar(__nccwpck_require__(79896)); +const os = __importStar(__nccwpck_require__(70857)); +const utils_1 = __nccwpck_require__(78025); +function issueFileCommand(command, message) { + const filePath = process.env[`GITHUB_${command}`]; + if (!filePath) { + throw new Error(`Unable to find environment variable for file command ${command}`); + } + if (!fs.existsSync(filePath)) { + throw new Error(`Missing file at path: ${filePath}`); + } + fs.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os.EOL}`, { + encoding: 'utf8' + }); +} +exports.issueFileCommand = issueFileCommand; +function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${crypto.randomUUID()}`; + const convertedValue = (0, utils_1.toCommandValue)(value); + // These should realistically never happen, but just in case someone finds a + // way to exploit uuid generation let's not allow keys or values that contain + // the delimiter. + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; +} +exports.prepareKeyValueMessage = prepareKeyValueMessage; +//# sourceMappingURL=file-command.js.map + +/***/ }), + +/***/ 25551: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.OidcClient = void 0; +const http_client_1 = __nccwpck_require__(24285); +const auth_1 = __nccwpck_require__(14995); +const core_1 = __nccwpck_require__(66201); +class OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions); + } + static getRequestToken() { + const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN']; + if (!token) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable'); + } + return token; + } + static getIDTokenUrl() { + const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL']; + if (!runtimeUrl) { + throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable'); + } + return runtimeUrl; + } + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = OidcClient.createHttpClient(); + const res = yield httpclient + .getJson(id_token_url) + .catch(error => { + throw new Error(`Failed to get ID Token. \n + Error Code : ${error.statusCode}\n + Error Message: ${error.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error('Response json body do not have ID Token field'); + } + return id_token; + }); + } + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + // New ID Token is requested from action service + let id_token_url = OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + (0, core_1.debug)(`ID token url is ${id_token_url}`); + const id_token = yield OidcClient.getCall(id_token_url); + (0, core_1.setSecret)(id_token); + return id_token; + } + catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); + } +} +exports.OidcClient = OidcClient; +//# sourceMappingURL=oidc-utils.js.map + +/***/ }), + +/***/ 72229: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; +const path = __importStar(__nccwpck_require__(16928)); +/** + * toPosixPath converts the given path to the posix form. On Windows, \\ will be + * replaced with /. + * + * @param pth. Path to transform. + * @return string Posix path. + */ +function toPosixPath(pth) { + return pth.replace(/[\\]/g, '/'); +} +exports.toPosixPath = toPosixPath; +/** + * toWin32Path converts the given path to the win32 form. On Linux, / will be + * replaced with \\. + * + * @param pth. Path to transform. + * @return string Win32 path. + */ +function toWin32Path(pth) { + return pth.replace(/[/]/g, '\\'); +} +exports.toWin32Path = toWin32Path; +/** + * toPlatformPath converts the given path to a platform-specific path. It does + * this by replacing instances of / and \ with the platform-specific path + * separator. + * + * @param pth The path to platformize. + * @return string The platform-specific path. + */ +function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); +} +exports.toPlatformPath = toPlatformPath; +//# sourceMappingURL=path-utils.js.map + +/***/ }), + +/***/ 57869: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getDetails = exports.isLinux = exports.isMacOS = exports.isWindows = exports.arch = exports.platform = void 0; +const os_1 = __importDefault(__nccwpck_require__(70857)); +const exec = __importStar(__nccwpck_require__(13761)); +const getWindowsInfo = () => __awaiter(void 0, void 0, void 0, function* () { + const { stdout: version } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"', undefined, { + silent: true + }); + const { stdout: name } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"', undefined, { + silent: true + }); + return { + name: name.trim(), + version: version.trim() + }; +}); +const getMacOsInfo = () => __awaiter(void 0, void 0, void 0, function* () { + var _a, _b, _c, _d; + const { stdout } = yield exec.getExecOutput('sw_vers', undefined, { + silent: true + }); + const version = (_b = (_a = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : ''; + const name = (_d = (_c = stdout.match(/ProductName:\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : ''; + return { + name, + version + }; +}); +const getLinuxInfo = () => __awaiter(void 0, void 0, void 0, function* () { + const { stdout } = yield exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], { + silent: true + }); + const [name, version] = stdout.trim().split('\n'); + return { + name, + version + }; +}); +exports.platform = os_1.default.platform(); +exports.arch = os_1.default.arch(); +exports.isWindows = exports.platform === 'win32'; +exports.isMacOS = exports.platform === 'darwin'; +exports.isLinux = exports.platform === 'linux'; +function getDetails() { + return __awaiter(this, void 0, void 0, function* () { + return Object.assign(Object.assign({}, (yield (exports.isWindows + ? getWindowsInfo() + : exports.isMacOS + ? getMacOsInfo() + : getLinuxInfo()))), { platform: exports.platform, + arch: exports.arch, + isWindows: exports.isWindows, + isMacOS: exports.isMacOS, + isLinux: exports.isLinux }); + }); +} +exports.getDetails = getDetails; +//# sourceMappingURL=platform.js.map + +/***/ }), + +/***/ 53016: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; +const os_1 = __nccwpck_require__(70857); +const fs_1 = __nccwpck_require__(79896); +const { access, appendFile, writeFile } = fs_1.promises; +exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'; +exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary'; +class Summary { + constructor() { + this._buffer = ''; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } + catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs) + .map(([key, value]) => ` ${key}="${value}"`) + .join(''); + if (!content) { + return `<${tag}${htmlAttrs}>`; + } + return `<${tag}${htmlAttrs}>${content}`; + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: 'utf8' }); + return this.emptyBuffer(); + }); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ''; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, (lang && { lang })); + const element = this.wrap('pre', this.wrap('code', code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? 'ol' : 'ul'; + const listItems = items.map(item => this.wrap('li', item)).join(''); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows + .map(row => { + const cells = row + .map(cell => { + if (typeof cell === 'string') { + return this.wrap('td', cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? 'th' : 'td'; + const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan })); + return this.wrap(tag, data, attrs); + }) + .join(''); + return this.wrap('tr', cells); + }) + .join(''); + const element = this.wrap('table', tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap('details', this.wrap('summary', label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height })); + const element = this.wrap('img', null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag) + ? tag + : 'h1'; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap('hr', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap('br', null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, (cite && { cite })); + const element = this.wrap('blockquote', text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap('a', text, { href }); + return this.addRaw(element).addEOL(); + } +} +const _summary = new Summary(); +/** + * @deprecated use `core.summary` + */ +exports.markdownSummary = _summary; +exports.summary = _summary; +//# sourceMappingURL=summary.js.map + +/***/ }), + +/***/ 78025: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +// We use any as a valid input type +/* eslint-disable @typescript-eslint/no-explicit-any */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.toCommandProperties = exports.toCommandValue = void 0; +/** + * Sanitizes an input into a string so it can be passed into issueCommand safely + * @param input input to sanitize into a string + */ +function toCommandValue(input) { + if (input === null || input === undefined) { + return ''; + } + else if (typeof input === 'string' || input instanceof String) { + return input; + } + return JSON.stringify(input); +} +exports.toCommandValue = toCommandValue; +/** + * + * @param annotationProperties + * @returns The command properties to send with the actual annotation command + * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646 + */ +function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; +} +exports.toCommandProperties = toCommandProperties; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 13761: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getExecOutput = exports.exec = void 0; +const string_decoder_1 = __nccwpck_require__(13193); +const tr = __importStar(__nccwpck_require__(12408)); +/** + * Exec a command. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code + */ +function exec(commandLine, args, options) { + return __awaiter(this, void 0, void 0, function* () { + const commandArgs = tr.argStringToArray(commandLine); + if (commandArgs.length === 0) { + throw new Error(`Parameter 'commandLine' cannot be null or empty.`); + } + // Path to tool to execute should be first arg + const toolPath = commandArgs[0]; + args = commandArgs.slice(1).concat(args || []); + const runner = new tr.ToolRunner(toolPath, args, options); + return runner.exec(); + }); +} +exports.exec = exec; +/** + * Exec a command and get the output. + * Output will be streamed to the live console. + * Returns promise with the exit code and collected stdout and stderr + * + * @param commandLine command to execute (can include additional args). Must be correctly escaped. + * @param args optional arguments for tool. Escaping is handled by the lib. + * @param options optional exec options. See ExecOptions + * @returns Promise exit code, stdout, and stderr + */ +function getExecOutput(commandLine, args, options) { + var _a, _b; + return __awaiter(this, void 0, void 0, function* () { + let stdout = ''; + let stderr = ''; + //Using string decoder covers the case where a mult-byte character is split + const stdoutDecoder = new string_decoder_1.StringDecoder('utf8'); + const stderrDecoder = new string_decoder_1.StringDecoder('utf8'); + const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout; + const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr; + const stdErrListener = (data) => { + stderr += stderrDecoder.write(data); + if (originalStdErrListener) { + originalStdErrListener(data); + } + }; + const stdOutListener = (data) => { + stdout += stdoutDecoder.write(data); + if (originalStdoutListener) { + originalStdoutListener(data); + } + }; + const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener }); + const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners })); + //flush any remaining characters + stdout += stdoutDecoder.end(); + stderr += stderrDecoder.end(); + return { + exitCode, + stdout, + stderr + }; + }); +} +exports.getExecOutput = getExecOutput; +//# sourceMappingURL=exec.js.map + +/***/ }), + +/***/ 12408: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.argStringToArray = exports.ToolRunner = void 0; +const os = __importStar(__nccwpck_require__(70857)); +const events = __importStar(__nccwpck_require__(24434)); +const child = __importStar(__nccwpck_require__(35317)); +const path = __importStar(__nccwpck_require__(16928)); +const io = __importStar(__nccwpck_require__(52123)); +const ioUtil = __importStar(__nccwpck_require__(48148)); +const timers_1 = __nccwpck_require__(53557); +/* eslint-disable @typescript-eslint/unbound-method */ +const IS_WINDOWS = process.platform === 'win32'; +/* + * Class for running command line tools. Handles quoting and arg parsing in a platform agnostic way. + */ +class ToolRunner extends events.EventEmitter { + constructor(toolPath, args, options) { + super(); + if (!toolPath) { + throw new Error("Parameter 'toolPath' cannot be null or empty."); + } + this.toolPath = toolPath; + this.args = args || []; + this.options = options || {}; + } + _debug(message) { + if (this.options.listeners && this.options.listeners.debug) { + this.options.listeners.debug(message); + } + } + _getCommandString(options, noPrefix) { + const toolPath = this._getSpawnFileName(); + const args = this._getSpawnArgs(options); + let cmd = noPrefix ? '' : '[command]'; // omit prefix when piped to a second tool + if (IS_WINDOWS) { + // Windows + cmd file + if (this._isCmdFile()) { + cmd += toolPath; + for (const a of args) { + cmd += ` ${a}`; + } + } + // Windows + verbatim + else if (options.windowsVerbatimArguments) { + cmd += `"${toolPath}"`; + for (const a of args) { + cmd += ` ${a}`; + } + } + // Windows (regular) + else { + cmd += this._windowsQuoteCmdArg(toolPath); + for (const a of args) { + cmd += ` ${this._windowsQuoteCmdArg(a)}`; + } + } + } + else { + // OSX/Linux - this can likely be improved with some form of quoting. + // creating processes on Unix is fundamentally different than Windows. + // on Unix, execvp() takes an arg array. + cmd += toolPath; + for (const a of args) { + cmd += ` ${a}`; + } + } + return cmd; + } + _processLineBuffer(data, strBuffer, onLine) { + try { + let s = strBuffer + data.toString(); + let n = s.indexOf(os.EOL); + while (n > -1) { + const line = s.substring(0, n); + onLine(line); + // the rest of the string ... + s = s.substring(n + os.EOL.length); + n = s.indexOf(os.EOL); + } + return s; + } + catch (err) { + // streaming lines to console is best effort. Don't fail a build. + this._debug(`error processing line. Failed with error ${err}`); + return ''; + } + } + _getSpawnFileName() { + if (IS_WINDOWS) { + if (this._isCmdFile()) { + return process.env['COMSPEC'] || 'cmd.exe'; + } + } + return this.toolPath; + } + _getSpawnArgs(options) { + if (IS_WINDOWS) { + if (this._isCmdFile()) { + let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; + for (const a of this.args) { + argline += ' '; + argline += options.windowsVerbatimArguments + ? a + : this._windowsQuoteCmdArg(a); + } + argline += '"'; + return [argline]; + } + } + return this.args; + } + _endsWith(str, end) { + return str.endsWith(end); + } + _isCmdFile() { + const upperToolPath = this.toolPath.toUpperCase(); + return (this._endsWith(upperToolPath, '.CMD') || + this._endsWith(upperToolPath, '.BAT')); + } + _windowsQuoteCmdArg(arg) { + // for .exe, apply the normal quoting rules that libuv applies + if (!this._isCmdFile()) { + return this._uvQuoteCmdArg(arg); + } + // otherwise apply quoting rules specific to the cmd.exe command line parser. + // the libuv rules are generic and are not designed specifically for cmd.exe + // command line parser. + // + // for a detailed description of the cmd.exe command line parser, refer to + // http://stackoverflow.com/questions/4094699/how-does-the-windows-command-interpreter-cmd-exe-parse-scripts/7970912#7970912 + // need quotes for empty arg + if (!arg) { + return '""'; + } + // determine whether the arg needs to be quoted + const cmdSpecialChars = [ + ' ', + '\t', + '&', + '(', + ')', + '[', + ']', + '{', + '}', + '^', + '=', + ';', + '!', + "'", + '+', + ',', + '`', + '~', + '|', + '<', + '>', + '"' + ]; + let needsQuotes = false; + for (const char of arg) { + if (cmdSpecialChars.some(x => x === char)) { + needsQuotes = true; + break; + } + } + // short-circuit if quotes not needed + if (!needsQuotes) { + return arg; + } + // the following quoting rules are very similar to the rules that by libuv applies. + // + // 1) wrap the string in quotes + // + // 2) double-up quotes - i.e. " => "" + // + // this is different from the libuv quoting rules. libuv replaces " with \", which unfortunately + // doesn't work well with a cmd.exe command line. + // + // note, replacing " with "" also works well if the arg is passed to a downstream .NET console app. + // for example, the command line: + // foo.exe "myarg:""my val""" + // is parsed by a .NET console app into an arg array: + // [ "myarg:\"my val\"" ] + // which is the same end result when applying libuv quoting rules. although the actual + // command line from libuv quoting rules would look like: + // foo.exe "myarg:\"my val\"" + // + // 3) double-up slashes that precede a quote, + // e.g. hello \world => "hello \world" + // hello\"world => "hello\\""world" + // hello\\"world => "hello\\\\""world" + // hello world\ => "hello world\\" + // + // technically this is not required for a cmd.exe command line, or the batch argument parser. + // the reasons for including this as a .cmd quoting rule are: + // + // a) this is optimized for the scenario where the argument is passed from the .cmd file to an + // external program. many programs (e.g. .NET console apps) rely on the slash-doubling rule. + // + // b) it's what we've been doing previously (by deferring to node default behavior) and we + // haven't heard any complaints about that aspect. + // + // note, a weakness of the quoting rules chosen here, is that % is not escaped. in fact, % cannot be + // escaped when used on the command line directly - even though within a .cmd file % can be escaped + // by using %%. + // + // the saving grace is, on the command line, %var% is left as-is if var is not defined. this contrasts + // the line parsing rules within a .cmd file, where if var is not defined it is replaced with nothing. + // + // one option that was explored was replacing % with ^% - i.e. %var% => ^%var^%. this hack would + // often work, since it is unlikely that var^ would exist, and the ^ character is removed when the + // variable is used. the problem, however, is that ^ is not removed when %* is used to pass the args + // to an external program. + // + // an unexplored potential solution for the % escaping problem, is to create a wrapper .cmd file. + // % can be escaped within a .cmd file. + let reverse = '"'; + let quoteHit = true; + for (let i = arg.length; i > 0; i--) { + // walk the string in reverse + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; // double the slash + } + else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '"'; // double the quote + } + else { + quoteHit = false; + } + } + reverse += '"'; + return reverse + .split('') + .reverse() + .join(''); + } + _uvQuoteCmdArg(arg) { + // Tool runner wraps child_process.spawn() and needs to apply the same quoting as + // Node in certain cases where the undocumented spawn option windowsVerbatimArguments + // is used. + // + // Since this function is a port of quote_cmd_arg from Node 4.x (technically, lib UV, + // see https://github.com/nodejs/node/blob/v4.x/deps/uv/src/win/process.c for details), + // pasting copyright notice from Node within this function: + // + // Copyright Joyent, Inc. and other Node contributors. All rights reserved. + // + // Permission is hereby granted, free of charge, to any person obtaining a copy + // of this software and associated documentation files (the "Software"), to + // deal in the Software without restriction, including without limitation the + // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + // sell copies of the Software, and to permit persons to whom the Software is + // furnished to do so, subject to the following conditions: + // + // The above copyright notice and this permission notice shall be included in + // all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + // IN THE SOFTWARE. + if (!arg) { + // Need double quotation for empty argument + return '""'; + } + if (!arg.includes(' ') && !arg.includes('\t') && !arg.includes('"')) { + // No quotation needed + return arg; + } + if (!arg.includes('"') && !arg.includes('\\')) { + // No embedded double quotes or backslashes, so I can just wrap + // quote marks around the whole thing. + return `"${arg}"`; + } + // Expected input/output: + // input : hello"world + // output: "hello\"world" + // input : hello""world + // output: "hello\"\"world" + // input : hello\world + // output: hello\world + // input : hello\\world + // output: hello\\world + // input : hello\"world + // output: "hello\\\"world" + // input : hello\\"world + // output: "hello\\\\\"world" + // input : hello world\ + // output: "hello world\\" - note the comment in libuv actually reads "hello world\" + // but it appears the comment is wrong, it should be "hello world\\" + let reverse = '"'; + let quoteHit = true; + for (let i = arg.length; i > 0; i--) { + // walk the string in reverse + reverse += arg[i - 1]; + if (quoteHit && arg[i - 1] === '\\') { + reverse += '\\'; + } + else if (arg[i - 1] === '"') { + quoteHit = true; + reverse += '\\'; + } + else { + quoteHit = false; + } + } + reverse += '"'; + return reverse + .split('') + .reverse() + .join(''); + } + _cloneExecOptions(options) { + options = options || {}; + const result = { + cwd: options.cwd || process.cwd(), + env: options.env || process.env, + silent: options.silent || false, + windowsVerbatimArguments: options.windowsVerbatimArguments || false, + failOnStdErr: options.failOnStdErr || false, + ignoreReturnCode: options.ignoreReturnCode || false, + delay: options.delay || 10000 + }; + result.outStream = options.outStream || process.stdout; + result.errStream = options.errStream || process.stderr; + return result; + } + _getSpawnOptions(options, toolPath) { + options = options || {}; + const result = {}; + result.cwd = options.cwd; + result.env = options.env; + result['windowsVerbatimArguments'] = + options.windowsVerbatimArguments || this._isCmdFile(); + if (options.windowsVerbatimArguments) { + result.argv0 = `"${toolPath}"`; + } + return result; + } + /** + * Exec a tool. + * Output will be streamed to the live console. + * Returns promise with return code + * + * @param tool path to tool to exec + * @param options optional exec options. See ExecOptions + * @returns number + */ + exec() { + return __awaiter(this, void 0, void 0, function* () { + // root the tool path if it is unrooted and contains relative pathing + if (!ioUtil.isRooted(this.toolPath) && + (this.toolPath.includes('/') || + (IS_WINDOWS && this.toolPath.includes('\\')))) { + // prefer options.cwd if it is specified, however options.cwd may also need to be rooted + this.toolPath = path.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath); + } + // if the tool is only a file name, then resolve it from the PATH + // otherwise verify it exists (add extension on Windows if necessary) + this.toolPath = yield io.which(this.toolPath, true); + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + this._debug(`exec tool: ${this.toolPath}`); + this._debug('arguments:'); + for (const arg of this.args) { + this._debug(` ${arg}`); + } + const optionsNonNull = this._cloneExecOptions(this.options); + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL); + } + const state = new ExecState(optionsNonNull, this.toolPath); + state.on('debug', (message) => { + this._debug(message); + }); + if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) { + return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`)); + } + const fileName = this._getSpawnFileName(); + const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName)); + let stdbuffer = ''; + if (cp.stdout) { + cp.stdout.on('data', (data) => { + if (this.options.listeners && this.options.listeners.stdout) { + this.options.listeners.stdout(data); + } + if (!optionsNonNull.silent && optionsNonNull.outStream) { + optionsNonNull.outStream.write(data); + } + stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => { + if (this.options.listeners && this.options.listeners.stdline) { + this.options.listeners.stdline(line); + } + }); + }); + } + let errbuffer = ''; + if (cp.stderr) { + cp.stderr.on('data', (data) => { + state.processStderr = true; + if (this.options.listeners && this.options.listeners.stderr) { + this.options.listeners.stderr(data); + } + if (!optionsNonNull.silent && + optionsNonNull.errStream && + optionsNonNull.outStream) { + const s = optionsNonNull.failOnStdErr + ? optionsNonNull.errStream + : optionsNonNull.outStream; + s.write(data); + } + errbuffer = this._processLineBuffer(data, errbuffer, (line) => { + if (this.options.listeners && this.options.listeners.errline) { + this.options.listeners.errline(line); + } + }); + }); + } + cp.on('error', (err) => { + state.processError = err.message; + state.processExited = true; + state.processClosed = true; + state.CheckComplete(); + }); + cp.on('exit', (code) => { + state.processExitCode = code; + state.processExited = true; + this._debug(`Exit code ${code} received from tool '${this.toolPath}'`); + state.CheckComplete(); + }); + cp.on('close', (code) => { + state.processExitCode = code; + state.processExited = true; + state.processClosed = true; + this._debug(`STDIO streams have closed for tool '${this.toolPath}'`); + state.CheckComplete(); + }); + state.on('done', (error, exitCode) => { + if (stdbuffer.length > 0) { + this.emit('stdline', stdbuffer); + } + if (errbuffer.length > 0) { + this.emit('errline', errbuffer); + } + cp.removeAllListeners(); + if (error) { + reject(error); + } + else { + resolve(exitCode); + } + }); + if (this.options.input) { + if (!cp.stdin) { + throw new Error('child process missing stdin'); + } + cp.stdin.end(this.options.input); + } + })); + }); + } +} +exports.ToolRunner = ToolRunner; +/** + * Convert an arg string to an array of args. Handles escaping + * + * @param argString string of arguments + * @returns string[] array of arguments + */ +function argStringToArray(argString) { + const args = []; + let inQuotes = false; + let escaped = false; + let arg = ''; + function append(c) { + // we only escape double quotes. + if (escaped && c !== '"') { + arg += '\\'; + } + arg += c; + escaped = false; + } + for (let i = 0; i < argString.length; i++) { + const c = argString.charAt(i); + if (c === '"') { + if (!escaped) { + inQuotes = !inQuotes; + } + else { + append(c); + } + continue; + } + if (c === '\\' && escaped) { + append(c); + continue; + } + if (c === '\\' && inQuotes) { + escaped = true; + continue; + } + if (c === ' ' && !inQuotes) { + if (arg.length > 0) { + args.push(arg); + arg = ''; + } + continue; + } + append(c); + } + if (arg.length > 0) { + args.push(arg.trim()); + } + return args; +} +exports.argStringToArray = argStringToArray; +class ExecState extends events.EventEmitter { + constructor(options, toolPath) { + super(); + this.processClosed = false; // tracks whether the process has exited and stdio is closed + this.processError = ''; + this.processExitCode = 0; + this.processExited = false; // tracks whether the process has exited + this.processStderr = false; // tracks whether stderr was written to + this.delay = 10000; // 10 seconds + this.done = false; + this.timeout = null; + if (!toolPath) { + throw new Error('toolPath must not be empty'); + } + this.options = options; + this.toolPath = toolPath; + if (options.delay) { + this.delay = options.delay; + } + } + CheckComplete() { + if (this.done) { + return; + } + if (this.processClosed) { + this._setResult(); + } + else if (this.processExited) { + this.timeout = timers_1.setTimeout(ExecState.HandleTimeout, this.delay, this); + } + } + _debug(message) { + this.emit('debug', message); + } + _setResult() { + // determine whether there is an error + let error; + if (this.processExited) { + if (this.processError) { + error = new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`); + } + else if (this.processExitCode !== 0 && !this.options.ignoreReturnCode) { + error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`); + } + else if (this.processStderr && this.options.failOnStdErr) { + error = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`); + } + } + // clear the timeout + if (this.timeout) { + clearTimeout(this.timeout); + this.timeout = null; + } + this.done = true; + this.emit('done', error, this.processExitCode); + } + static HandleTimeout(state) { + if (state.done) { + return; + } + if (!state.processClosed && state.processExited) { + const message = `The STDIO streams did not close within ${state.delay / + 1000} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`; + state._debug(message); + } + state._setResult(); + } +} +//# sourceMappingURL=toolrunner.js.map + +/***/ }), + +/***/ 32019: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Context = void 0; +const fs_1 = __nccwpck_require__(79896); +const os_1 = __nccwpck_require__(70857); +class Context { + /** + * Hydrate the context from the environment + */ + constructor() { + var _a, _b, _c; + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + } + else { + const path = process.env.GITHUB_EVENT_PATH; + process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); + } + } + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + this.job = process.env.GITHUB_JOB; + this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10); + this.runId = parseInt(process.env.GITHUB_RUN_ID, 10); + this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`; + this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`; + this.graphqlUrl = + (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`; + } + get issue() { + const payload = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); + } + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); + return { owner, repo }; + } + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; + } + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + } +} +exports.Context = Context; +//# sourceMappingURL=context.js.map + +/***/ }), + +/***/ 25469: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getOctokit = exports.context = void 0; +const Context = __importStar(__nccwpck_require__(32019)); +const utils_1 = __nccwpck_require__(28297); +exports.context = new Context.Context(); +/** + * Returns a hydrated octokit ready to use for GitHub Actions + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokit(token, options, ...additionalPlugins) { + const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins); + return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options)); +} +exports.getOctokit = getOctokit; +//# sourceMappingURL=github.js.map + +/***/ }), + +/***/ 22169: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getApiBaseUrl = exports.getProxyFetch = exports.getProxyAgentDispatcher = exports.getProxyAgent = exports.getAuthString = void 0; +const httpClient = __importStar(__nccwpck_require__(24285)); +const undici_1 = __nccwpck_require__(96429); +function getAuthString(token, options) { + if (!token && !options.auth) { + throw new Error('Parameter token or opts.auth is required'); + } + else if (token && options.auth) { + throw new Error('Parameters token and opts.auth may not both be specified'); + } + return typeof options.auth === 'string' ? options.auth : `token ${token}`; +} +exports.getAuthString = getAuthString; +function getProxyAgent(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgent(destinationUrl); +} +exports.getProxyAgent = getProxyAgent; +function getProxyAgentDispatcher(destinationUrl) { + const hc = new httpClient.HttpClient(); + return hc.getAgentDispatcher(destinationUrl); +} +exports.getProxyAgentDispatcher = getProxyAgentDispatcher; +function getProxyFetch(destinationUrl) { + const httpDispatcher = getProxyAgentDispatcher(destinationUrl); + const proxyFetch = (url, opts) => __awaiter(this, void 0, void 0, function* () { + return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher })); + }); + return proxyFetch; +} +exports.getProxyFetch = getProxyFetch; +function getApiBaseUrl() { + return process.env['GITHUB_API_URL'] || 'https://api.github.com'; +} +exports.getApiBaseUrl = getApiBaseUrl; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 28297: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0; +const Context = __importStar(__nccwpck_require__(32019)); +const Utils = __importStar(__nccwpck_require__(22169)); +// octokit + plugins +const core_1 = __nccwpck_require__(32662); +const plugin_rest_endpoint_methods_1 = __nccwpck_require__(53864); +const plugin_paginate_rest_1 = __nccwpck_require__(81369); +exports.context = new Context.Context(); +const baseUrl = Utils.getApiBaseUrl(); +exports.defaults = { + baseUrl, + request: { + agent: Utils.getProxyAgent(baseUrl), + fetch: Utils.getProxyFetch(baseUrl) + } +}; +exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults); +/** + * Convience function to correctly format Octokit Options to pass into the constructor. + * + * @param token the repo PAT or GITHUB_TOKEN + * @param options other options to set + */ +function getOctokitOptions(token, options) { + const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller + // Auth + const auth = Utils.getAuthString(token, opts); + if (auth) { + opts.auth = auth; + } + return opts; +} +exports.getOctokitOptions = getOctokitOptions; +//# sourceMappingURL=utils.js.map + +/***/ }), + +/***/ 14995: +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0; +class BasicCredentialHandler { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BasicCredentialHandler = BasicCredentialHandler; +class BearerCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.BearerCredentialHandler = BearerCredentialHandler; +class PersonalAccessTokenCredentialHandler { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error('The request has no headers'); + } + options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error('not implemented'); + }); + } +} +exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; +//# sourceMappingURL=auth.js.map + +/***/ }), + +/***/ 24285: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +/* eslint-disable @typescript-eslint/no-explicit-any */ +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; +const http = __importStar(__nccwpck_require__(58611)); +const https = __importStar(__nccwpck_require__(65692)); +const pm = __importStar(__nccwpck_require__(39301)); +const tunnel = __importStar(__nccwpck_require__(82971)); +const undici_1 = __nccwpck_require__(96429); +var HttpCodes; +(function (HttpCodes) { + HttpCodes[HttpCodes["OK"] = 200] = "OK"; + HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; + HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; + HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; + HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; + HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; + HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; + HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; + HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; + HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; + HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; +})(HttpCodes || (exports.HttpCodes = HttpCodes = {})); +var Headers; +(function (Headers) { + Headers["Accept"] = "accept"; + Headers["ContentType"] = "content-type"; +})(Headers || (exports.Headers = Headers = {})); +var MediaTypes; +(function (MediaTypes) { + MediaTypes["ApplicationJson"] = "application/json"; +})(MediaTypes || (exports.MediaTypes = MediaTypes = {})); +/** + * Returns the proxy URL, depending upon the supplied url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ +function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ''; +} +exports.getProxyUrl = getProxyUrl; +const HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect +]; +const HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout +]; +const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; +const ExponentialBackoffCeiling = 10; +const ExponentialBackoffTimeSlice = 5; +class HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = 'HttpClientError'; + this.statusCode = statusCode; + Object.setPrototypeOf(this, HttpClientError.prototype); + } +} +exports.HttpClientError = HttpClientError; +class HttpClientResponse { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on('data', (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on('end', () => { + resolve(output.toString()); + }); + })); + }); + } + readBodyBuffer() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + const chunks = []; + this.message.on('data', (chunk) => { + chunks.push(chunk); + }); + this.message.on('end', () => { + resolve(Buffer.concat(chunks)); + }); + })); + }); + } +} +exports.HttpClientResponse = HttpClientResponse; +function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === 'https:'; +} +exports.isHttps = isHttps; +class HttpClient { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('GET', requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('DELETE', requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('POST', requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PATCH', requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('PUT', requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request('HEAD', requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error('Client has already been disposed.'); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + // Only perform retries on reads since writes may not be idempotent. + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) + ? this._maxRetries + 1 + : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + // Check if it's an authentication challenge + if (response && + response.message && + response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } + else { + // We have received an unauthorized response but have no handlers to handle it. + // Let the response return to the caller. + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && + HttpRedirectCodes.includes(response.message.statusCode) && + this._allowRedirects && + redirectsRemaining > 0) { + const redirectUrl = response.message.headers['location']; + if (!redirectUrl) { + // if there's no location to redirect to, we won't + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === 'https:' && + parsedUrl.protocol !== parsedRedirectUrl.protocol && + !this._allowRedirectDowngrade) { + throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); + } + // we need to finish reading the response before reassigning response + // which will leak the open socket. + yield response.readBody(); + // strip authorization header if redirected to a different hostname + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + // header names are case insensitive + if (header.toLowerCase() === 'authorization') { + delete headers[header]; + } + } + } + // let's make the request with the new redirectUrl + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || + !HttpResponseRetryCodes.includes(response.message.statusCode)) { + // If not a retry code, return immediately instead of retrying + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } + else if (!res) { + // If `err` is not passed, then `res` must be passed. + reject(new Error('Unknown error')); + } + else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === 'string') { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(undefined, res); + }); + let socket; + req.on('socket', sock => { + socket = sock; + }); + // If we ever get disconnected, we want the socket to timeout eventually + req.setTimeout(this._socketTimeout || 3 * 60000, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on('error', function (err) { + // err has statusCode property + // res should have headers + handleResult(err); + }); + if (data && typeof data === 'string') { + req.write(data, 'utf8'); + } + if (data && typeof data !== 'string') { + data.on('close', function () { + req.end(); + }); + data.pipe(req); + } + else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + getAgentDispatcher(serverUrl) { + const parsedUrl = new URL(serverUrl); + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (!useProxy) { + return; + } + return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === 'https:'; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port + ? parseInt(info.parsedUrl.port) + : defaultPort; + info.options.path = + (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers['user-agent'] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + // gives handlers an opportunity to participate + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + // if agent is already assigned use that agent. + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis. + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + })), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === 'https:'; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } + else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + // if reusing agent across request and tunneling agent isn't assigned create a new agent + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + // if not using private agent and tunnel agent isn't setup then use global agent + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _getProxyAgentDispatcher(parsedUrl, proxyUrl) { + let proxyAgent; + if (this._keepAlive) { + proxyAgent = this._proxyAgentDispatcher; + } + // if agent is already assigned use that agent. + if (proxyAgent) { + return proxyAgent; + } + const usingSsl = parsedUrl.protocol === 'https:'; + proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, ((proxyUrl.username || proxyUrl.password) && { + token: `${proxyUrl.username}:${proxyUrl.password}` + }))); + this._proxyAgentDispatcher = proxyAgent; + if (usingSsl && this._ignoreSslError) { + // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process + // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options + // we have to cast it to any and change it directly + proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { + rejectUnauthorized: false + }); + } + return proxyAgent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise(resolve => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + // not found leads to null obj returned + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + // get the result from the body + function dateTimeDeserializer(key, value) { + if (typeof value === 'string') { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } + else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } + catch (err) { + // Invalid resource (contents not json); leaving result obj null + } + // note that 3xx redirects are handled by the http layer. + if (statusCode > 299) { + let msg; + // if exception/error in body, attempt to get better error + if (obj && obj.message) { + msg = obj.message; + } + else if (contents && contents.length > 0) { + // it may be the case that the exception is in the body message as string + msg = contents; + } + else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } + else { + resolve(response); + } + })); + }); + } +} +exports.HttpClient = HttpClient; +const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 39301: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.checkBypass = exports.getProxyUrl = void 0; +function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === 'https:'; + if (checkBypass(reqUrl)) { + return undefined; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env['https_proxy'] || process.env['HTTPS_PROXY']; + } + else { + return process.env['http_proxy'] || process.env['HTTP_PROXY']; + } + })(); + if (proxyVar) { + try { + return new URL(proxyVar); + } + catch (_a) { + if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://')) + return new URL(`http://${proxyVar}`); + } + } + else { + return undefined; + } +} +exports.getProxyUrl = getProxyUrl; +function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const reqHost = reqUrl.hostname; + if (isLoopbackAddress(reqHost)) { + return true; + } + const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || ''; + if (!noProxy) { + return false; + } + // Determine the request port + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } + else if (reqUrl.protocol === 'http:') { + reqPort = 80; + } + else if (reqUrl.protocol === 'https:') { + reqPort = 443; + } + // Format the request hostname and hostname with port + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === 'number') { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + // Compare request host against noproxy + for (const upperNoProxyItem of noProxy + .split(',') + .map(x => x.trim().toUpperCase()) + .filter(x => x)) { + if (upperNoProxyItem === '*' || + upperReqHosts.some(x => x === upperNoProxyItem || + x.endsWith(`.${upperNoProxyItem}`) || + (upperNoProxyItem.startsWith('.') && + x.endsWith(`${upperNoProxyItem}`)))) { + return true; + } + } + return false; +} +exports.checkBypass = checkBypass; +function isLoopbackAddress(host) { + const hostLower = host.toLowerCase(); + return (hostLower === 'localhost' || + hostLower.startsWith('127.') || + hostLower.startsWith('[::1]') || + hostLower.startsWith('[0:0:0:0:0:0:0:1]')); +} +//# sourceMappingURL=proxy.js.map + +/***/ }), + +/***/ 48148: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0; +const fs = __importStar(__nccwpck_require__(79896)); +const path = __importStar(__nccwpck_require__(16928)); +_a = fs.promises +// export const {open} = 'fs' +, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink; +// export const {open} = 'fs' +exports.IS_WINDOWS = process.platform === 'win32'; +// See https://github.com/nodejs/node/blob/d0153aee367422d0858105abec186da4dff0a0c5/deps/uv/include/uv/win.h#L691 +exports.UV_FS_O_EXLOCK = 0x10000000; +exports.READONLY = fs.constants.O_RDONLY; +function exists(fsPath) { + return __awaiter(this, void 0, void 0, function* () { + try { + yield exports.stat(fsPath); + } + catch (err) { + if (err.code === 'ENOENT') { + return false; + } + throw err; + } + return true; + }); +} +exports.exists = exists; +function isDirectory(fsPath, useStat = false) { + return __awaiter(this, void 0, void 0, function* () { + const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath); + return stats.isDirectory(); + }); +} +exports.isDirectory = isDirectory; +/** + * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like: + * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases). + */ +function isRooted(p) { + p = normalizeSeparators(p); + if (!p) { + throw new Error('isRooted() parameter "p" cannot be empty'); + } + if (exports.IS_WINDOWS) { + return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello + ); // e.g. C: or C:\hello + } + return p.startsWith('/'); +} +exports.isRooted = isRooted; +/** + * Best effort attempt to determine whether a file exists and is executable. + * @param filePath file path to check + * @param extensions additional file extensions to try + * @return if file exists and is executable, returns the file path. otherwise empty string. + */ +function tryGetExecutablePath(filePath, extensions) { + return __awaiter(this, void 0, void 0, function* () { + let stats = undefined; + try { + // test file exists + stats = yield exports.stat(filePath); + } + catch (err) { + if (err.code !== 'ENOENT') { + // eslint-disable-next-line no-console + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + } + } + if (stats && stats.isFile()) { + if (exports.IS_WINDOWS) { + // on Windows, test for valid extension + const upperExt = path.extname(filePath).toUpperCase(); + if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) { + return filePath; + } + } + else { + if (isUnixExecutable(stats)) { + return filePath; + } + } + } + // try each extension + const originalFilePath = filePath; + for (const extension of extensions) { + filePath = originalFilePath + extension; + stats = undefined; + try { + stats = yield exports.stat(filePath); + } + catch (err) { + if (err.code !== 'ENOENT') { + // eslint-disable-next-line no-console + console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`); + } + } + if (stats && stats.isFile()) { + if (exports.IS_WINDOWS) { + // preserve the case of the actual file (since an extension was appended) + try { + const directory = path.dirname(filePath); + const upperName = path.basename(filePath).toUpperCase(); + for (const actualName of yield exports.readdir(directory)) { + if (upperName === actualName.toUpperCase()) { + filePath = path.join(directory, actualName); + break; + } + } + } + catch (err) { + // eslint-disable-next-line no-console + console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`); + } + return filePath; + } + else { + if (isUnixExecutable(stats)) { + return filePath; + } + } + } + } + return ''; + }); +} +exports.tryGetExecutablePath = tryGetExecutablePath; +function normalizeSeparators(p) { + p = p || ''; + if (exports.IS_WINDOWS) { + // convert slashes on Windows + p = p.replace(/\//g, '\\'); + // remove redundant slashes + return p.replace(/\\\\+/g, '\\'); + } + // remove redundant slashes + return p.replace(/\/\/+/g, '/'); +} +// on Mac/Linux, test the execute bit +// R W X R W X R W X +// 256 128 64 32 16 8 4 2 1 +function isUnixExecutable(stats) { + return ((stats.mode & 1) > 0 || + ((stats.mode & 8) > 0 && stats.gid === process.getgid()) || + ((stats.mode & 64) > 0 && stats.uid === process.getuid())); +} +// Get the path of cmd.exe in windows +function getCmdPath() { + var _a; + return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`; +} +exports.getCmdPath = getCmdPath; +//# sourceMappingURL=io-util.js.map + +/***/ }), + +/***/ 52123: +/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0; +const assert_1 = __nccwpck_require__(42613); +const path = __importStar(__nccwpck_require__(16928)); +const ioUtil = __importStar(__nccwpck_require__(48148)); +/** + * Copies a file or folder. + * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js + * + * @param source source path + * @param dest destination path + * @param options optional. See CopyOptions. + */ +function cp(source, dest, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + const { force, recursive, copySourceDirectory } = readCopyOptions(options); + const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null; + // Dest is an existing file, but not forcing + if (destStat && destStat.isFile() && !force) { + return; + } + // If dest is an existing directory, should copy inside. + const newDest = destStat && destStat.isDirectory() && copySourceDirectory + ? path.join(dest, path.basename(source)) + : dest; + if (!(yield ioUtil.exists(source))) { + throw new Error(`no such file or directory: ${source}`); + } + const sourceStat = yield ioUtil.stat(source); + if (sourceStat.isDirectory()) { + if (!recursive) { + throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`); + } + else { + yield cpDirRecursive(source, newDest, 0, force); + } + } + else { + if (path.relative(source, newDest) === '') { + // a file cannot be copied to itself + throw new Error(`'${newDest}' and '${source}' are the same file`); + } + yield copyFile(source, newDest, force); + } + }); +} +exports.cp = cp; +/** + * Moves a path. + * + * @param source source path + * @param dest destination path + * @param options optional. See MoveOptions. + */ +function mv(source, dest, options = {}) { + return __awaiter(this, void 0, void 0, function* () { + if (yield ioUtil.exists(dest)) { + let destExists = true; + if (yield ioUtil.isDirectory(dest)) { + // If dest is directory copy src into dest + dest = path.join(dest, path.basename(source)); + destExists = yield ioUtil.exists(dest); + } + if (destExists) { + if (options.force == null || options.force) { + yield rmRF(dest); + } + else { + throw new Error('Destination already exists'); + } + } + } + yield mkdirP(path.dirname(dest)); + yield ioUtil.rename(source, dest); + }); +} +exports.mv = mv; +/** + * Remove a path recursively with force + * + * @param inputPath path to remove + */ +function rmRF(inputPath) { + return __awaiter(this, void 0, void 0, function* () { + if (ioUtil.IS_WINDOWS) { + // Check for invalid characters + // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file + if (/[*"<>|]/.test(inputPath)) { + throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows'); + } + } + try { + // note if path does not exist, error is silent + yield ioUtil.rm(inputPath, { + force: true, + maxRetries: 3, + recursive: true, + retryDelay: 300 + }); + } + catch (err) { + throw new Error(`File was unable to be removed ${err}`); + } + }); +} +exports.rmRF = rmRF; +/** + * Make a directory. Creates the full path with folders in between + * Will throw if it fails + * + * @param fsPath path to create + * @returns Promise + */ +function mkdirP(fsPath) { + return __awaiter(this, void 0, void 0, function* () { + assert_1.ok(fsPath, 'a path argument must be provided'); + yield ioUtil.mkdir(fsPath, { recursive: true }); + }); +} +exports.mkdirP = mkdirP; +/** + * Returns path of a tool had the tool actually been invoked. Resolves via paths. + * If you check and the tool does not exist, it will throw. + * + * @param tool name of the tool + * @param check whether to check if tool exists + * @returns Promise path to tool + */ +function which(tool, check) { + return __awaiter(this, void 0, void 0, function* () { + if (!tool) { + throw new Error("parameter 'tool' is required"); + } + // recursive when check=true + if (check) { + const result = yield which(tool, false); + if (!result) { + if (ioUtil.IS_WINDOWS) { + throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`); + } + else { + throw new Error(`Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`); + } + } + return result; + } + const matches = yield findInPath(tool); + if (matches && matches.length > 0) { + return matches[0]; + } + return ''; + }); +} +exports.which = which; +/** + * Returns a list of all occurrences of the given tool on the system path. + * + * @returns Promise the paths of the tool + */ +function findInPath(tool) { + return __awaiter(this, void 0, void 0, function* () { + if (!tool) { + throw new Error("parameter 'tool' is required"); + } + // build the list of extensions to try + const extensions = []; + if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) { + for (const extension of process.env['PATHEXT'].split(path.delimiter)) { + if (extension) { + extensions.push(extension); + } + } + } + // if it's rooted, return it if exists. otherwise return empty. + if (ioUtil.isRooted(tool)) { + const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions); + if (filePath) { + return [filePath]; + } + return []; + } + // if any path separators, return empty + if (tool.includes(path.sep)) { + return []; + } + // build the list of directories + // + // Note, technically "where" checks the current directory on Windows. From a toolkit perspective, + // it feels like we should not do this. Checking the current directory seems like more of a use + // case of a shell, and the which() function exposed by the toolkit should strive for consistency + // across platforms. + const directories = []; + if (process.env.PATH) { + for (const p of process.env.PATH.split(path.delimiter)) { + if (p) { + directories.push(p); + } + } + } + // find all matches + const matches = []; + for (const directory of directories) { + const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions); + if (filePath) { + matches.push(filePath); + } + } + return matches; + }); +} +exports.findInPath = findInPath; +function readCopyOptions(options) { + const force = options.force == null ? true : options.force; + const recursive = Boolean(options.recursive); + const copySourceDirectory = options.copySourceDirectory == null + ? true + : Boolean(options.copySourceDirectory); + return { force, recursive, copySourceDirectory }; +} +function cpDirRecursive(sourceDir, destDir, currentDepth, force) { + return __awaiter(this, void 0, void 0, function* () { + // Ensure there is not a run away recursive copy + if (currentDepth >= 255) + return; + currentDepth++; + yield mkdirP(destDir); + const files = yield ioUtil.readdir(sourceDir); + for (const fileName of files) { + const srcFile = `${sourceDir}/${fileName}`; + const destFile = `${destDir}/${fileName}`; + const srcFileStat = yield ioUtil.lstat(srcFile); + if (srcFileStat.isDirectory()) { + // Recurse + yield cpDirRecursive(srcFile, destFile, currentDepth, force); + } + else { + yield copyFile(srcFile, destFile, force); + } + } + // Change the mode for the newly created directory + yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode); + }); +} +// Buffered file copy +function copyFile(srcFile, destFile, force) { + return __awaiter(this, void 0, void 0, function* () { + if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) { + // unlink/re-link it + try { + yield ioUtil.lstat(destFile); + yield ioUtil.unlink(destFile); + } + catch (e) { + // Try to override file permission + if (e.code === 'EPERM') { + yield ioUtil.chmod(destFile, '0666'); + yield ioUtil.unlink(destFile); + } + // other errors = it doesn't exist, no work to do + } + // Copy over symlink + const symlinkFull = yield ioUtil.readlink(srcFile); + yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null); + } + else if (!(yield ioUtil.exists(destFile)) || force) { + yield ioUtil.copyFile(srcFile, destFile); + } + }); +} +//# sourceMappingURL=io.js.map + +/***/ }), + +/***/ 49950: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const WritableStream = (__nccwpck_require__(57075).Writable) +const inherits = (__nccwpck_require__(57975).inherits) + +const StreamSearch = __nccwpck_require__(59448) + +const PartStream = __nccwpck_require__(52676) +const HeaderParser = __nccwpck_require__(31855) + +const DASH = 45 +const B_ONEDASH = Buffer.from('-') +const B_CRLF = Buffer.from('\r\n') +const EMPTY_FN = function () {} + +function Dicer (cfg) { + if (!(this instanceof Dicer)) { return new Dicer(cfg) } + WritableStream.call(this, cfg) + + if (!cfg || (!cfg.headerFirst && typeof cfg.boundary !== 'string')) { throw new TypeError('Boundary required') } + + if (typeof cfg.boundary === 'string') { this.setBoundary(cfg.boundary) } else { this._bparser = undefined } + + this._headerFirst = cfg.headerFirst + + this._dashes = 0 + this._parts = 0 + this._finished = false + this._realFinish = false + this._isPreamble = true + this._justMatched = false + this._firstWrite = true + this._inHeader = true + this._part = undefined + this._cb = undefined + this._ignoreData = false + this._partOpts = { highWaterMark: cfg.partHwm } + this._pause = false + + const self = this + this._hparser = new HeaderParser(cfg) + this._hparser.on('header', function (header) { + self._inHeader = false + self._part.emit('header', header) + }) +} +inherits(Dicer, WritableStream) + +Dicer.prototype.emit = function (ev) { + if (ev === 'finish' && !this._realFinish) { + if (!this._finished) { + const self = this + process.nextTick(function () { + self.emit('error', new Error('Unexpected end of multipart data')) + if (self._part && !self._ignoreData) { + const type = (self._isPreamble ? 'Preamble' : 'Part') + self._part.emit('error', new Error(type + ' terminated early due to unexpected end of multipart data')) + self._part.push(null) + process.nextTick(function () { + self._realFinish = true + self.emit('finish') + self._realFinish = false + }) + return + } + self._realFinish = true + self.emit('finish') + self._realFinish = false + }) + } + } else { WritableStream.prototype.emit.apply(this, arguments) } +} + +Dicer.prototype._write = function (data, encoding, cb) { + // ignore unexpected data (e.g. extra trailer data after finished) + if (!this._hparser && !this._bparser) { return cb() } + + if (this._headerFirst && this._isPreamble) { + if (!this._part) { + this._part = new PartStream(this._partOpts) + if (this._events.preamble) { this.emit('preamble', this._part) } else { this._ignore() } + } + const r = this._hparser.push(data) + if (!this._inHeader && r !== undefined && r < data.length) { data = data.slice(r) } else { return cb() } + } + + // allows for "easier" testing + if (this._firstWrite) { + this._bparser.push(B_CRLF) + this._firstWrite = false + } + + this._bparser.push(data) + + if (this._pause) { this._cb = cb } else { cb() } +} + +Dicer.prototype.reset = function () { + this._part = undefined + this._bparser = undefined + this._hparser = undefined +} + +Dicer.prototype.setBoundary = function (boundary) { + const self = this + this._bparser = new StreamSearch('\r\n--' + boundary) + this._bparser.on('info', function (isMatch, data, start, end) { + self._oninfo(isMatch, data, start, end) + }) +} + +Dicer.prototype._ignore = function () { + if (this._part && !this._ignoreData) { + this._ignoreData = true + this._part.on('error', EMPTY_FN) + // we must perform some kind of read on the stream even though we are + // ignoring the data, otherwise node's Readable stream will not emit 'end' + // after pushing null to the stream + this._part.resume() + } +} + +Dicer.prototype._oninfo = function (isMatch, data, start, end) { + let buf; const self = this; let i = 0; let r; let shouldWriteMore = true + + if (!this._part && this._justMatched && data) { + while (this._dashes < 2 && (start + i) < end) { + if (data[start + i] === DASH) { + ++i + ++this._dashes + } else { + if (this._dashes) { buf = B_ONEDASH } + this._dashes = 0 + break + } + } + if (this._dashes === 2) { + if ((start + i) < end && this._events.trailer) { this.emit('trailer', data.slice(start + i, end)) } + this.reset() + this._finished = true + // no more parts will be added + if (self._parts === 0) { + self._realFinish = true + self.emit('finish') + self._realFinish = false + } + } + if (this._dashes) { return } + } + if (this._justMatched) { this._justMatched = false } + if (!this._part) { + this._part = new PartStream(this._partOpts) + this._part._read = function (n) { + self._unpause() + } + if (this._isPreamble && this._events.preamble) { this.emit('preamble', this._part) } else if (this._isPreamble !== true && this._events.part) { this.emit('part', this._part) } else { this._ignore() } + if (!this._isPreamble) { this._inHeader = true } + } + if (data && start < end && !this._ignoreData) { + if (this._isPreamble || !this._inHeader) { + if (buf) { shouldWriteMore = this._part.push(buf) } + shouldWriteMore = this._part.push(data.slice(start, end)) + if (!shouldWriteMore) { this._pause = true } + } else if (!this._isPreamble && this._inHeader) { + if (buf) { this._hparser.push(buf) } + r = this._hparser.push(data.slice(start, end)) + if (!this._inHeader && r !== undefined && r < end) { this._oninfo(false, data, start + r, end) } + } + } + if (isMatch) { + this._hparser.reset() + if (this._isPreamble) { this._isPreamble = false } else { + if (start !== end) { + ++this._parts + this._part.on('end', function () { + if (--self._parts === 0) { + if (self._finished) { + self._realFinish = true + self.emit('finish') + self._realFinish = false + } else { + self._unpause() + } + } + }) + } + } + this._part.push(null) + this._part = undefined + this._ignoreData = false + this._justMatched = true + this._dashes = 0 + } +} + +Dicer.prototype._unpause = function () { + if (!this._pause) { return } + + this._pause = false + if (this._cb) { + const cb = this._cb + this._cb = undefined + cb() + } +} + +module.exports = Dicer + + +/***/ }), + +/***/ 31855: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const EventEmitter = (__nccwpck_require__(78474).EventEmitter) +const inherits = (__nccwpck_require__(57975).inherits) +const getLimit = __nccwpck_require__(24809) + +const StreamSearch = __nccwpck_require__(59448) + +const B_DCRLF = Buffer.from('\r\n\r\n') +const RE_CRLF = /\r\n/g +const RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/ // eslint-disable-line no-control-regex + +function HeaderParser (cfg) { + EventEmitter.call(this) + + cfg = cfg || {} + const self = this + this.nread = 0 + this.maxed = false + this.npairs = 0 + this.maxHeaderPairs = getLimit(cfg, 'maxHeaderPairs', 2000) + this.maxHeaderSize = getLimit(cfg, 'maxHeaderSize', 80 * 1024) + this.buffer = '' + this.header = {} + this.finished = false + this.ss = new StreamSearch(B_DCRLF) + this.ss.on('info', function (isMatch, data, start, end) { + if (data && !self.maxed) { + if (self.nread + end - start >= self.maxHeaderSize) { + end = self.maxHeaderSize - self.nread + start + self.nread = self.maxHeaderSize + self.maxed = true + } else { self.nread += (end - start) } + + self.buffer += data.toString('binary', start, end) + } + if (isMatch) { self._finish() } + }) +} +inherits(HeaderParser, EventEmitter) + +HeaderParser.prototype.push = function (data) { + const r = this.ss.push(data) + if (this.finished) { return r } +} + +HeaderParser.prototype.reset = function () { + this.finished = false + this.buffer = '' + this.header = {} + this.ss.reset() +} + +HeaderParser.prototype._finish = function () { + if (this.buffer) { this._parseHeader() } + this.ss.matches = this.ss.maxMatches + const header = this.header + this.header = {} + this.buffer = '' + this.finished = true + this.nread = this.npairs = 0 + this.maxed = false + this.emit('header', header) +} + +HeaderParser.prototype._parseHeader = function () { + if (this.npairs === this.maxHeaderPairs) { return } + + const lines = this.buffer.split(RE_CRLF) + const len = lines.length + let m, h + + for (var i = 0; i < len; ++i) { // eslint-disable-line no-var + if (lines[i].length === 0) { continue } + if (lines[i][0] === '\t' || lines[i][0] === ' ') { + // folded header content + // RFC2822 says to just remove the CRLF and not the whitespace following + // it, so we follow the RFC and include the leading whitespace ... + if (h) { + this.header[h][this.header[h].length - 1] += lines[i] + continue + } + } + + const posColon = lines[i].indexOf(':') + if ( + posColon === -1 || + posColon === 0 + ) { + return + } + m = RE_HDR.exec(lines[i]) + h = m[1].toLowerCase() + this.header[h] = this.header[h] || [] + this.header[h].push((m[2] || '')) + if (++this.npairs === this.maxHeaderPairs) { break } + } +} + +module.exports = HeaderParser + + +/***/ }), + +/***/ 52676: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const inherits = (__nccwpck_require__(57975).inherits) +const ReadableStream = (__nccwpck_require__(57075).Readable) + +function PartStream (opts) { + ReadableStream.call(this, opts) +} +inherits(PartStream, ReadableStream) + +PartStream.prototype._read = function (n) {} + +module.exports = PartStream + + +/***/ }), + +/***/ 59448: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/** + * Copyright Brian White. All rights reserved. + * + * @see https://github.com/mscdex/streamsearch + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * Based heavily on the Streaming Boyer-Moore-Horspool C++ implementation + * by Hongli Lai at: https://github.com/FooBarWidget/boyer-moore-horspool + */ +const EventEmitter = (__nccwpck_require__(78474).EventEmitter) +const inherits = (__nccwpck_require__(57975).inherits) + +function SBMH (needle) { + if (typeof needle === 'string') { + needle = Buffer.from(needle) + } + + if (!Buffer.isBuffer(needle)) { + throw new TypeError('The needle has to be a String or a Buffer.') + } + + const needleLength = needle.length + + if (needleLength === 0) { + throw new Error('The needle cannot be an empty String/Buffer.') + } + + if (needleLength > 256) { + throw new Error('The needle cannot have a length bigger than 256.') + } + + this.maxMatches = Infinity + this.matches = 0 + + this._occ = new Array(256) + .fill(needleLength) // Initialize occurrence table. + this._lookbehind_size = 0 + this._needle = needle + this._bufpos = 0 + + this._lookbehind = Buffer.alloc(needleLength) + + // Populate occurrence table with analysis of the needle, + // ignoring last letter. + for (var i = 0; i < needleLength - 1; ++i) { // eslint-disable-line no-var + this._occ[needle[i]] = needleLength - 1 - i + } +} +inherits(SBMH, EventEmitter) + +SBMH.prototype.reset = function () { + this._lookbehind_size = 0 + this.matches = 0 + this._bufpos = 0 +} + +SBMH.prototype.push = function (chunk, pos) { + if (!Buffer.isBuffer(chunk)) { + chunk = Buffer.from(chunk, 'binary') + } + const chlen = chunk.length + this._bufpos = pos || 0 + let r + while (r !== chlen && this.matches < this.maxMatches) { r = this._sbmh_feed(chunk) } + return r +} + +SBMH.prototype._sbmh_feed = function (data) { + const len = data.length + const needle = this._needle + const needleLength = needle.length + const lastNeedleChar = needle[needleLength - 1] + + // Positive: points to a position in `data` + // pos == 3 points to data[3] + // Negative: points to a position in the lookbehind buffer + // pos == -2 points to lookbehind[lookbehind_size - 2] + let pos = -this._lookbehind_size + let ch + + if (pos < 0) { + // Lookbehind buffer is not empty. Perform Boyer-Moore-Horspool + // search with character lookup code that considers both the + // lookbehind buffer and the current round's haystack data. + // + // Loop until + // there is a match. + // or until + // we've moved past the position that requires the + // lookbehind buffer. In this case we switch to the + // optimized loop. + // or until + // the character to look at lies outside the haystack. + while (pos < 0 && pos <= len - needleLength) { + ch = this._sbmh_lookup_char(data, pos + needleLength - 1) + + if ( + ch === lastNeedleChar && + this._sbmh_memcmp(data, pos, needleLength - 1) + ) { + this._lookbehind_size = 0 + ++this.matches + this.emit('info', true) + + return (this._bufpos = pos + needleLength) + } + pos += this._occ[ch] + } + + // No match. + + if (pos < 0) { + // There's too few data for Boyer-Moore-Horspool to run, + // so let's use a different algorithm to skip as much as + // we can. + // Forward pos until + // the trailing part of lookbehind + data + // looks like the beginning of the needle + // or until + // pos == 0 + while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { ++pos } + } + + if (pos >= 0) { + // Discard lookbehind buffer. + this.emit('info', false, this._lookbehind, 0, this._lookbehind_size) + this._lookbehind_size = 0 + } else { + // Cut off part of the lookbehind buffer that has + // been processed and append the entire haystack + // into it. + const bytesToCutOff = this._lookbehind_size + pos + if (bytesToCutOff > 0) { + // The cut off data is guaranteed not to contain the needle. + this.emit('info', false, this._lookbehind, 0, bytesToCutOff) + } + + this._lookbehind.copy(this._lookbehind, 0, bytesToCutOff, + this._lookbehind_size - bytesToCutOff) + this._lookbehind_size -= bytesToCutOff + + data.copy(this._lookbehind, this._lookbehind_size) + this._lookbehind_size += len + + this._bufpos = len + return len + } + } + + pos += (pos >= 0) * this._bufpos + + // Lookbehind buffer is now empty. We only need to check if the + // needle is in the haystack. + if (data.indexOf(needle, pos) !== -1) { + pos = data.indexOf(needle, pos) + ++this.matches + if (pos > 0) { this.emit('info', true, data, this._bufpos, pos) } else { this.emit('info', true) } + + return (this._bufpos = pos + needleLength) + } else { + pos = len - needleLength + } + + // There was no match. If there's trailing haystack data that we cannot + // match yet using the Boyer-Moore-Horspool algorithm (because the trailing + // data is less than the needle size) then match using a modified + // algorithm that starts matching from the beginning instead of the end. + // Whatever trailing data is left after running this algorithm is added to + // the lookbehind buffer. + while ( + pos < len && + ( + data[pos] !== needle[0] || + ( + (Buffer.compare( + data.subarray(pos, pos + len - pos), + needle.subarray(0, len - pos) + ) !== 0) + ) + ) + ) { + ++pos + } + if (pos < len) { + data.copy(this._lookbehind, 0, pos, pos + (len - pos)) + this._lookbehind_size = len - pos + } + + // Everything until pos is guaranteed not to contain needle data. + if (pos > 0) { this.emit('info', false, data, this._bufpos, pos < len ? pos : len) } + + this._bufpos = len + return len +} + +SBMH.prototype._sbmh_lookup_char = function (data, pos) { + return (pos < 0) + ? this._lookbehind[this._lookbehind_size + pos] + : data[pos] +} + +SBMH.prototype._sbmh_memcmp = function (data, pos, len) { + for (var i = 0; i < len; ++i) { // eslint-disable-line no-var + if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) { return false } + } + return true +} + +module.exports = SBMH + + +/***/ }), + +/***/ 69117: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const WritableStream = (__nccwpck_require__(57075).Writable) +const { inherits } = __nccwpck_require__(57975) +const Dicer = __nccwpck_require__(49950) + +const MultipartParser = __nccwpck_require__(52152) +const UrlencodedParser = __nccwpck_require__(73159) +const parseParams = __nccwpck_require__(46833) + +function Busboy (opts) { + if (!(this instanceof Busboy)) { return new Busboy(opts) } + + if (typeof opts !== 'object') { + throw new TypeError('Busboy expected an options-Object.') + } + if (typeof opts.headers !== 'object') { + throw new TypeError('Busboy expected an options-Object with headers-attribute.') + } + if (typeof opts.headers['content-type'] !== 'string') { + throw new TypeError('Missing Content-Type-header.') + } + + const { + headers, + ...streamOptions + } = opts + + this.opts = { + autoDestroy: false, + ...streamOptions + } + WritableStream.call(this, this.opts) + + this._done = false + this._parser = this.getParserByHeaders(headers) + this._finished = false +} +inherits(Busboy, WritableStream) + +Busboy.prototype.emit = function (ev) { + if (ev === 'finish') { + if (!this._done) { + this._parser?.end() + return + } else if (this._finished) { + return + } + this._finished = true + } + WritableStream.prototype.emit.apply(this, arguments) +} + +Busboy.prototype.getParserByHeaders = function (headers) { + const parsed = parseParams(headers['content-type']) + + const cfg = { + defCharset: this.opts.defCharset, + fileHwm: this.opts.fileHwm, + headers, + highWaterMark: this.opts.highWaterMark, + isPartAFile: this.opts.isPartAFile, + limits: this.opts.limits, + parsedConType: parsed, + preservePath: this.opts.preservePath + } + + if (MultipartParser.detect.test(parsed[0])) { + return new MultipartParser(this, cfg) + } + if (UrlencodedParser.detect.test(parsed[0])) { + return new UrlencodedParser(this, cfg) + } + throw new Error('Unsupported Content-Type.') +} + +Busboy.prototype._write = function (chunk, encoding, cb) { + this._parser.write(chunk, cb) +} + +module.exports = Busboy +module.exports["default"] = Busboy +module.exports.Busboy = Busboy + +module.exports.Dicer = Dicer + + +/***/ }), + +/***/ 52152: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +// TODO: +// * support 1 nested multipart level +// (see second multipart example here: +// http://www.w3.org/TR/html401/interact/forms.html#didx-multipartform-data) +// * support limits.fieldNameSize +// -- this will require modifications to utils.parseParams + +const { Readable } = __nccwpck_require__(57075) +const { inherits } = __nccwpck_require__(57975) + +const Dicer = __nccwpck_require__(49950) + +const parseParams = __nccwpck_require__(46833) +const decodeText = __nccwpck_require__(33627) +const basename = __nccwpck_require__(46596) +const getLimit = __nccwpck_require__(24809) + +const RE_BOUNDARY = /^boundary$/i +const RE_FIELD = /^form-data$/i +const RE_CHARSET = /^charset$/i +const RE_FILENAME = /^filename$/i +const RE_NAME = /^name$/i + +Multipart.detect = /^multipart\/form-data/i +function Multipart (boy, cfg) { + let i + let len + const self = this + let boundary + const limits = cfg.limits + const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => (contentType === 'application/octet-stream' || fileName !== undefined)) + const parsedConType = cfg.parsedConType || [] + const defCharset = cfg.defCharset || 'utf8' + const preservePath = cfg.preservePath + const fileOpts = { highWaterMark: cfg.fileHwm } + + for (i = 0, len = parsedConType.length; i < len; ++i) { + if (Array.isArray(parsedConType[i]) && + RE_BOUNDARY.test(parsedConType[i][0])) { + boundary = parsedConType[i][1] + break + } + } + + function checkFinished () { + if (nends === 0 && finished && !boy._done) { + finished = false + self.end() + } + } + + if (typeof boundary !== 'string') { throw new Error('Multipart: Boundary not found') } + + const fieldSizeLimit = getLimit(limits, 'fieldSize', 1 * 1024 * 1024) + const fileSizeLimit = getLimit(limits, 'fileSize', Infinity) + const filesLimit = getLimit(limits, 'files', Infinity) + const fieldsLimit = getLimit(limits, 'fields', Infinity) + const partsLimit = getLimit(limits, 'parts', Infinity) + const headerPairsLimit = getLimit(limits, 'headerPairs', 2000) + const headerSizeLimit = getLimit(limits, 'headerSize', 80 * 1024) + + let nfiles = 0 + let nfields = 0 + let nends = 0 + let curFile + let curField + let finished = false + + this._needDrain = false + this._pause = false + this._cb = undefined + this._nparts = 0 + this._boy = boy + + const parserCfg = { + boundary, + maxHeaderPairs: headerPairsLimit, + maxHeaderSize: headerSizeLimit, + partHwm: fileOpts.highWaterMark, + highWaterMark: cfg.highWaterMark + } + + this.parser = new Dicer(parserCfg) + this.parser.on('drain', function () { + self._needDrain = false + if (self._cb && !self._pause) { + const cb = self._cb + self._cb = undefined + cb() + } + }).on('part', function onPart (part) { + if (++self._nparts > partsLimit) { + self.parser.removeListener('part', onPart) + self.parser.on('part', skipPart) + boy.hitPartsLimit = true + boy.emit('partsLimit') + return skipPart(part) + } + + // hack because streams2 _always_ doesn't emit 'end' until nextTick, so let + // us emit 'end' early since we know the part has ended if we are already + // seeing the next part + if (curField) { + const field = curField + field.emit('end') + field.removeAllListeners('end') + } + + part.on('header', function (header) { + let contype + let fieldname + let parsed + let charset + let encoding + let filename + let nsize = 0 + + if (header['content-type']) { + parsed = parseParams(header['content-type'][0]) + if (parsed[0]) { + contype = parsed[0].toLowerCase() + for (i = 0, len = parsed.length; i < len; ++i) { + if (RE_CHARSET.test(parsed[i][0])) { + charset = parsed[i][1].toLowerCase() + break + } + } + } + } + + if (contype === undefined) { contype = 'text/plain' } + if (charset === undefined) { charset = defCharset } + + if (header['content-disposition']) { + parsed = parseParams(header['content-disposition'][0]) + if (!RE_FIELD.test(parsed[0])) { return skipPart(part) } + for (i = 0, len = parsed.length; i < len; ++i) { + if (RE_NAME.test(parsed[i][0])) { + fieldname = parsed[i][1] + } else if (RE_FILENAME.test(parsed[i][0])) { + filename = parsed[i][1] + if (!preservePath) { filename = basename(filename) } + } + } + } else { return skipPart(part) } + + if (header['content-transfer-encoding']) { encoding = header['content-transfer-encoding'][0].toLowerCase() } else { encoding = '7bit' } + + let onData, + onEnd + + if (isPartAFile(fieldname, contype, filename)) { + // file/binary field + if (nfiles === filesLimit) { + if (!boy.hitFilesLimit) { + boy.hitFilesLimit = true + boy.emit('filesLimit') + } + return skipPart(part) + } + + ++nfiles + + if (!boy._events.file) { + self.parser._ignore() + return + } + + ++nends + const file = new FileStream(fileOpts) + curFile = file + file.on('end', function () { + --nends + self._pause = false + checkFinished() + if (self._cb && !self._needDrain) { + const cb = self._cb + self._cb = undefined + cb() + } + }) + file._read = function (n) { + if (!self._pause) { return } + self._pause = false + if (self._cb && !self._needDrain) { + const cb = self._cb + self._cb = undefined + cb() + } + } + boy.emit('file', fieldname, file, filename, encoding, contype) + + onData = function (data) { + if ((nsize += data.length) > fileSizeLimit) { + const extralen = fileSizeLimit - nsize + data.length + if (extralen > 0) { file.push(data.slice(0, extralen)) } + file.truncated = true + file.bytesRead = fileSizeLimit + part.removeAllListeners('data') + file.emit('limit') + return + } else if (!file.push(data)) { self._pause = true } + + file.bytesRead = nsize + } + + onEnd = function () { + curFile = undefined + file.push(null) + } + } else { + // non-file field + if (nfields === fieldsLimit) { + if (!boy.hitFieldsLimit) { + boy.hitFieldsLimit = true + boy.emit('fieldsLimit') + } + return skipPart(part) + } + + ++nfields + ++nends + let buffer = '' + let truncated = false + curField = part + + onData = function (data) { + if ((nsize += data.length) > fieldSizeLimit) { + const extralen = (fieldSizeLimit - (nsize - data.length)) + buffer += data.toString('binary', 0, extralen) + truncated = true + part.removeAllListeners('data') + } else { buffer += data.toString('binary') } + } + + onEnd = function () { + curField = undefined + if (buffer.length) { buffer = decodeText(buffer, 'binary', charset) } + boy.emit('field', fieldname, buffer, false, truncated, encoding, contype) + --nends + checkFinished() + } + } + + /* As of node@2efe4ab761666 (v0.10.29+/v0.11.14+), busboy had become + broken. Streams2/streams3 is a huge black box of confusion, but + somehow overriding the sync state seems to fix things again (and still + seems to work for previous node versions). + */ + part._readableState.sync = false + + part.on('data', onData) + part.on('end', onEnd) + }).on('error', function (err) { + if (curFile) { curFile.emit('error', err) } + }) + }).on('error', function (err) { + boy.emit('error', err) + }).on('finish', function () { + finished = true + checkFinished() + }) +} + +Multipart.prototype.write = function (chunk, cb) { + const r = this.parser.write(chunk) + if (r && !this._pause) { + cb() + } else { + this._needDrain = !r + this._cb = cb + } +} + +Multipart.prototype.end = function () { + const self = this + + if (self.parser.writable) { + self.parser.end() + } else if (!self._boy._done) { + process.nextTick(function () { + self._boy._done = true + self._boy.emit('finish') + }) + } +} + +function skipPart (part) { + part.resume() +} + +function FileStream (opts) { + Readable.call(this, opts) + + this.bytesRead = 0 + + this.truncated = false +} + +inherits(FileStream, Readable) + +FileStream.prototype._read = function (n) {} + +module.exports = Multipart + + +/***/ }), + +/***/ 73159: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const Decoder = __nccwpck_require__(13496) +const decodeText = __nccwpck_require__(33627) +const getLimit = __nccwpck_require__(24809) + +const RE_CHARSET = /^charset$/i + +UrlEncoded.detect = /^application\/x-www-form-urlencoded/i +function UrlEncoded (boy, cfg) { + const limits = cfg.limits + const parsedConType = cfg.parsedConType + this.boy = boy + + this.fieldSizeLimit = getLimit(limits, 'fieldSize', 1 * 1024 * 1024) + this.fieldNameSizeLimit = getLimit(limits, 'fieldNameSize', 100) + this.fieldsLimit = getLimit(limits, 'fields', Infinity) + + let charset + for (var i = 0, len = parsedConType.length; i < len; ++i) { // eslint-disable-line no-var + if (Array.isArray(parsedConType[i]) && + RE_CHARSET.test(parsedConType[i][0])) { + charset = parsedConType[i][1].toLowerCase() + break + } + } + + if (charset === undefined) { charset = cfg.defCharset || 'utf8' } + + this.decoder = new Decoder() + this.charset = charset + this._fields = 0 + this._state = 'key' + this._checkingBytes = true + this._bytesKey = 0 + this._bytesVal = 0 + this._key = '' + this._val = '' + this._keyTrunc = false + this._valTrunc = false + this._hitLimit = false +} + +UrlEncoded.prototype.write = function (data, cb) { + if (this._fields === this.fieldsLimit) { + if (!this.boy.hitFieldsLimit) { + this.boy.hitFieldsLimit = true + this.boy.emit('fieldsLimit') + } + return cb() + } + + let idxeq; let idxamp; let i; let p = 0; const len = data.length + + while (p < len) { + if (this._state === 'key') { + idxeq = idxamp = undefined + for (i = p; i < len; ++i) { + if (!this._checkingBytes) { ++p } + if (data[i] === 0x3D/* = */) { + idxeq = i + break + } else if (data[i] === 0x26/* & */) { + idxamp = i + break + } + if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { + this._hitLimit = true + break + } else if (this._checkingBytes) { ++this._bytesKey } + } + + if (idxeq !== undefined) { + // key with assignment + if (idxeq > p) { this._key += this.decoder.write(data.toString('binary', p, idxeq)) } + this._state = 'val' + + this._hitLimit = false + this._checkingBytes = true + this._val = '' + this._bytesVal = 0 + this._valTrunc = false + this.decoder.reset() + + p = idxeq + 1 + } else if (idxamp !== undefined) { + // key with no assignment + ++this._fields + let key; const keyTrunc = this._keyTrunc + if (idxamp > p) { key = (this._key += this.decoder.write(data.toString('binary', p, idxamp))) } else { key = this._key } + + this._hitLimit = false + this._checkingBytes = true + this._key = '' + this._bytesKey = 0 + this._keyTrunc = false + this.decoder.reset() + + if (key.length) { + this.boy.emit('field', decodeText(key, 'binary', this.charset), + '', + keyTrunc, + false) + } + + p = idxamp + 1 + if (this._fields === this.fieldsLimit) { return cb() } + } else if (this._hitLimit) { + // we may not have hit the actual limit if there are encoded bytes... + if (i > p) { this._key += this.decoder.write(data.toString('binary', p, i)) } + p = i + if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { + // yep, we actually did hit the limit + this._checkingBytes = false + this._keyTrunc = true + } + } else { + if (p < len) { this._key += this.decoder.write(data.toString('binary', p)) } + p = len + } + } else { + idxamp = undefined + for (i = p; i < len; ++i) { + if (!this._checkingBytes) { ++p } + if (data[i] === 0x26/* & */) { + idxamp = i + break + } + if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { + this._hitLimit = true + break + } else if (this._checkingBytes) { ++this._bytesVal } + } + + if (idxamp !== undefined) { + ++this._fields + if (idxamp > p) { this._val += this.decoder.write(data.toString('binary', p, idxamp)) } + this.boy.emit('field', decodeText(this._key, 'binary', this.charset), + decodeText(this._val, 'binary', this.charset), + this._keyTrunc, + this._valTrunc) + this._state = 'key' + + this._hitLimit = false + this._checkingBytes = true + this._key = '' + this._bytesKey = 0 + this._keyTrunc = false + this.decoder.reset() + + p = idxamp + 1 + if (this._fields === this.fieldsLimit) { return cb() } + } else if (this._hitLimit) { + // we may not have hit the actual limit if there are encoded bytes... + if (i > p) { this._val += this.decoder.write(data.toString('binary', p, i)) } + p = i + if ((this._val === '' && this.fieldSizeLimit === 0) || + (this._bytesVal = this._val.length) === this.fieldSizeLimit) { + // yep, we actually did hit the limit + this._checkingBytes = false + this._valTrunc = true + } + } else { + if (p < len) { this._val += this.decoder.write(data.toString('binary', p)) } + p = len + } + } + } + cb() +} + +UrlEncoded.prototype.end = function () { + if (this.boy._done) { return } + + if (this._state === 'key' && this._key.length > 0) { + this.boy.emit('field', decodeText(this._key, 'binary', this.charset), + '', + this._keyTrunc, + false) + } else if (this._state === 'val') { + this.boy.emit('field', decodeText(this._key, 'binary', this.charset), + decodeText(this._val, 'binary', this.charset), + this._keyTrunc, + this._valTrunc) + } + this.boy._done = true + this.boy.emit('finish') +} + +module.exports = UrlEncoded + + +/***/ }), + +/***/ 13496: +/***/ ((module) => { + +"use strict"; + + +const RE_PLUS = /\+/g + +const HEX = [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +] + +function Decoder () { + this.buffer = undefined +} +Decoder.prototype.write = function (str) { + // Replace '+' with ' ' before decoding + str = str.replace(RE_PLUS, ' ') + let res = '' + let i = 0; let p = 0; const len = str.length + for (; i < len; ++i) { + if (this.buffer !== undefined) { + if (!HEX[str.charCodeAt(i)]) { + res += '%' + this.buffer + this.buffer = undefined + --i // retry character + } else { + this.buffer += str[i] + ++p + if (this.buffer.length === 2) { + res += String.fromCharCode(parseInt(this.buffer, 16)) + this.buffer = undefined + } + } + } else if (str[i] === '%') { + if (i > p) { + res += str.substring(p, i) + p = i + } + this.buffer = '' + ++p + } + } + if (p < len && this.buffer === undefined) { res += str.substring(p) } + return res +} +Decoder.prototype.reset = function () { + this.buffer = undefined +} + +module.exports = Decoder + + +/***/ }), + +/***/ 46596: +/***/ ((module) => { + +"use strict"; + + +module.exports = function basename (path) { + if (typeof path !== 'string') { return '' } + for (var i = path.length - 1; i >= 0; --i) { // eslint-disable-line no-var + switch (path.charCodeAt(i)) { + case 0x2F: // '/' + case 0x5C: // '\' + path = path.slice(i + 1) + return (path === '..' || path === '.' ? '' : path) + } + } + return (path === '..' || path === '.' ? '' : path) +} + + +/***/ }), + +/***/ 33627: +/***/ ((module) => { + +"use strict"; + + +// Node has always utf-8 +const utf8Decoder = new TextDecoder('utf-8') +const textDecoders = new Map([ + ['utf-8', utf8Decoder], + ['utf8', utf8Decoder] +]) + +function decodeText (text, textEncoding, destEncoding) { + if (text) { + if (textDecoders.has(destEncoding)) { + try { + return textDecoders.get(destEncoding).decode(Buffer.from(text, textEncoding)) + } catch (e) { } + } else { + try { + textDecoders.set(destEncoding, new TextDecoder(destEncoding)) + return textDecoders.get(destEncoding).decode(Buffer.from(text, textEncoding)) + } catch (e) { } + } + } + return text +} + +module.exports = decodeText + + +/***/ }), + +/***/ 24809: +/***/ ((module) => { + +"use strict"; + + +module.exports = function getLimit (limits, name, defaultLimit) { + if ( + !limits || + limits[name] === undefined || + limits[name] === null + ) { return defaultLimit } + + if ( + typeof limits[name] !== 'number' || + isNaN(limits[name]) + ) { throw new TypeError('Limit ' + name + ' is not a valid number') } + + return limits[name] +} + + +/***/ }), + +/***/ 46833: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +const decodeText = __nccwpck_require__(33627) + +const RE_ENCODED = /%([a-fA-F0-9]{2})/g + +function encodedReplacer (match, byte) { + return String.fromCharCode(parseInt(byte, 16)) +} + +function parseParams (str) { + const res = [] + let state = 'key' + let charset = '' + let inquote = false + let escaping = false + let p = 0 + let tmp = '' + + for (var i = 0, len = str.length; i < len; ++i) { // eslint-disable-line no-var + const char = str[i] + if (char === '\\' && inquote) { + if (escaping) { escaping = false } else { + escaping = true + continue + } + } else if (char === '"') { + if (!escaping) { + if (inquote) { + inquote = false + state = 'key' + } else { inquote = true } + continue + } else { escaping = false } + } else { + if (escaping && inquote) { tmp += '\\' } + escaping = false + if ((state === 'charset' || state === 'lang') && char === "'") { + if (state === 'charset') { + state = 'lang' + charset = tmp.substring(1) + } else { state = 'value' } + tmp = '' + continue + } else if (state === 'key' && + (char === '*' || char === '=') && + res.length) { + if (char === '*') { state = 'charset' } else { state = 'value' } + res[p] = [tmp, undefined] + tmp = '' + continue + } else if (!inquote && char === ';') { + state = 'key' + if (charset) { + if (tmp.length) { + tmp = decodeText(tmp.replace(RE_ENCODED, encodedReplacer), + 'binary', + charset) + } + charset = '' + } else if (tmp.length) { + tmp = decodeText(tmp, 'binary', 'utf8') + } + if (res[p] === undefined) { res[p] = tmp } else { res[p][1] = tmp } + tmp = '' + ++p + continue + } else if (!inquote && (char === ' ' || char === '\t')) { continue } + } + tmp += char + } + if (charset && tmp.length) { + tmp = decodeText(tmp.replace(RE_ENCODED, encodedReplacer), + 'binary', + charset) + } else if (tmp) { + tmp = decodeText(tmp, 'binary', 'utf8') + } + + if (res[p] === undefined) { + if (tmp) { res[p] = tmp } + } else { res[p][1] = tmp } + + return res +} + +module.exports = parseParams + + +/***/ }), + +/***/ 43507: +/***/ ((module) => { + +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + createTokenAuth: () => createTokenAuth +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/auth.js +var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; +var REGEX_IS_INSTALLATION = /^ghs_/; +var REGEX_IS_USER_TO_SERVER = /^ghu_/; +async function auth(token) { + const isApp = token.split(/\./).length === 3; + const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); + const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); + 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(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.bind(null, token), { + hook: hook.bind(null, token) + }); +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (0); + + +/***/ }), + +/***/ 32662: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + Octokit: () => Octokit +}); +module.exports = __toCommonJS(dist_src_exports); +var import_universal_user_agent = __nccwpck_require__(16482); +var import_before_after_hook = __nccwpck_require__(50883); +var import_request = __nccwpck_require__(11234); +var import_graphql = __nccwpck_require__(70218); +var import_auth_token = __nccwpck_require__(43507); + +// pkg/dist-src/version.js +var VERSION = "5.2.0"; + +// pkg/dist-src/index.js +var noop = () => { +}; +var consoleWarn = console.warn.bind(console); +var consoleError = console.error.bind(console); +var userAgentTrail = `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`; +var Octokit = class { + static { + this.VERSION = VERSION; + } + 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 { + this.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 { + this.plugins = currentPlugins.concat( + newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) + ); + } + }; + return NewOctokit; + } + constructor(options = {}) { + const hook = new import_before_after_hook.Collection(); + const requestDefaults = { + baseUrl: import_request.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 = import_request.request.defaults(requestDefaults); + this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults); + this.log = Object.assign( + { + debug: noop, + info: noop, + warn: consoleWarn, + error: consoleError + }, + options.log + ); + this.hook = hook; + if (!options.authStrategy) { + if (!options.auth) { + this.auth = async () => ({ + type: "unauthenticated" + }); + } else { + const auth = (0, import_auth_token.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)); + } + } +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (0); + + +/***/ }), + +/***/ 57368: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + endpoint: () => endpoint +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/defaults.js +var import_universal_user_agent = __nccwpck_require__(16482); + +// pkg/dist-src/version.js +var VERSION = "9.0.5"; + +// pkg/dist-src/defaults.js +var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.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(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(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+|\W+$/g, "").split(/,/); +} +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + if (!matches) { + return []; + } + return matches.map(removeNonChars).reduce((a, b) => 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(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => { + 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(oldDefaults, newDefaults) { + const DEFAULTS2 = merge(oldDefaults, newDefaults); + const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); + return Object.assign(endpoint2, { + DEFAULTS: DEFAULTS2, + defaults: withDefaults.bind(null, DEFAULTS2), + merge: merge.bind(null, DEFAULTS2), + parse + }); +} + +// pkg/dist-src/index.js +var endpoint = withDefaults(null, DEFAULTS); +// Annotate the CommonJS export names for ESM import in node: +0 && (0); + + +/***/ }), + +/***/ 70218: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + GraphqlResponseError: () => GraphqlResponseError, + graphql: () => graphql2, + withCustomRequest: () => withCustomRequest +}); +module.exports = __toCommonJS(dist_src_exports); +var import_request3 = __nccwpck_require__(11234); +var import_universal_user_agent = __nccwpck_require__(16482); + +// pkg/dist-src/version.js +var VERSION = "7.1.0"; + +// pkg/dist-src/with-defaults.js +var import_request2 = __nccwpck_require__(11234); + +// pkg/dist-src/graphql.js +var import_request = __nccwpck_require__(11234); + +// 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.name = "GraphqlResponseError"; + this.errors = response.errors; + this.data = response.data; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } +}; + +// pkg/dist-src/graphql.js +var NON_VARIABLE_OPTIONS = [ + "method", + "baseUrl", + "url", + "headers", + "request", + "query", + "mediaType" +]; +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 +var graphql2 = withDefaults(import_request3.request, { + headers: { + "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + }, + method: "POST", + url: "/graphql" +}); +function withCustomRequest(customRequest) { + return withDefaults(customRequest, { + method: "POST", + url: "/graphql" + }); +} +// Annotate the CommonJS export names for ESM import in node: +0 && (0); + + +/***/ }), + +/***/ 81369: +/***/ ((module) => { + +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + composePaginateRest: () => composePaginateRest, + isPaginatingEndpoint: () => isPaginatingEndpoint, + paginateRest: () => paginateRest, + paginatingEndpoints: () => paginatingEndpoints +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/version.js +var VERSION = "9.2.1"; + +// pkg/dist-src/normalize-paginated-list-response.js +function normalizePaginatedListResponse(response) { + if (!response.data) { + return { + ...response, + data: [] + }; + } + const responseNeedsNormalization = "total_count" 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; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; + 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; + 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]; + 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/generated/paginating-endpoints.js +var paginatingEndpoints = [ + "GET /advisories", + "GET /app/hook/deliveries", + "GET /app/installation-requests", + "GET /app/installations", + "GET /assignments/{assignment_id}/accepted_assignments", + "GET /classrooms", + "GET /classrooms/{classroom_id}/assignments", + "GET /enterprises/{enterprise}/dependabot/alerts", + "GET /enterprises/{enterprise}/secret-scanning/alerts", + "GET /events", + "GET /gists", + "GET /gists/public", + "GET /gists/starred", + "GET /gists/{gist_id}/comments", + "GET /gists/{gist_id}/commits", + "GET /gists/{gist_id}/forks", + "GET /installation/repositories", + "GET /issues", + "GET /licenses", + "GET /marketplace_listing/plans", + "GET /marketplace_listing/plans/{plan_id}/accounts", + "GET /marketplace_listing/stubbed/plans", + "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", + "GET /networks/{owner}/{repo}/events", + "GET /notifications", + "GET /organizations", + "GET /orgs/{org}/actions/cache/usage-by-repository", + "GET /orgs/{org}/actions/permissions/repositories", + "GET /orgs/{org}/actions/runners", + "GET /orgs/{org}/actions/secrets", + "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", + "GET /orgs/{org}/actions/variables", + "GET /orgs/{org}/actions/variables/{name}/repositories", + "GET /orgs/{org}/blocks", + "GET /orgs/{org}/code-scanning/alerts", + "GET /orgs/{org}/codespaces", + "GET /orgs/{org}/codespaces/secrets", + "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", + "GET /orgs/{org}/copilot/billing/seats", + "GET /orgs/{org}/dependabot/alerts", + "GET /orgs/{org}/dependabot/secrets", + "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", + "GET /orgs/{org}/events", + "GET /orgs/{org}/failed_invitations", + "GET /orgs/{org}/hooks", + "GET /orgs/{org}/hooks/{hook_id}/deliveries", + "GET /orgs/{org}/installations", + "GET /orgs/{org}/invitations", + "GET /orgs/{org}/invitations/{invitation_id}/teams", + "GET /orgs/{org}/issues", + "GET /orgs/{org}/members", + "GET /orgs/{org}/members/{username}/codespaces", + "GET /orgs/{org}/migrations", + "GET /orgs/{org}/migrations/{migration_id}/repositories", + "GET /orgs/{org}/organization-roles/{role_id}/teams", + "GET /orgs/{org}/organization-roles/{role_id}/users", + "GET /orgs/{org}/outside_collaborators", + "GET /orgs/{org}/packages", + "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", + "GET /orgs/{org}/personal-access-token-requests", + "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", + "GET /orgs/{org}/personal-access-tokens", + "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", + "GET /orgs/{org}/projects", + "GET /orgs/{org}/properties/values", + "GET /orgs/{org}/public_members", + "GET /orgs/{org}/repos", + "GET /orgs/{org}/rulesets", + "GET /orgs/{org}/rulesets/rule-suites", + "GET /orgs/{org}/secret-scanning/alerts", + "GET /orgs/{org}/security-advisories", + "GET /orgs/{org}/teams", + "GET /orgs/{org}/teams/{team_slug}/discussions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", + "GET /orgs/{org}/teams/{team_slug}/invitations", + "GET /orgs/{org}/teams/{team_slug}/members", + "GET /orgs/{org}/teams/{team_slug}/projects", + "GET /orgs/{org}/teams/{team_slug}/repos", + "GET /orgs/{org}/teams/{team_slug}/teams", + "GET /projects/columns/{column_id}/cards", + "GET /projects/{project_id}/collaborators", + "GET /projects/{project_id}/columns", + "GET /repos/{owner}/{repo}/actions/artifacts", + "GET /repos/{owner}/{repo}/actions/caches", + "GET /repos/{owner}/{repo}/actions/organization-secrets", + "GET /repos/{owner}/{repo}/actions/organization-variables", + "GET /repos/{owner}/{repo}/actions/runners", + "GET /repos/{owner}/{repo}/actions/runs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", + "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", + "GET /repos/{owner}/{repo}/actions/secrets", + "GET /repos/{owner}/{repo}/actions/variables", + "GET /repos/{owner}/{repo}/actions/workflows", + "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", + "GET /repos/{owner}/{repo}/activity", + "GET /repos/{owner}/{repo}/assignees", + "GET /repos/{owner}/{repo}/branches", + "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", + "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", + "GET /repos/{owner}/{repo}/code-scanning/alerts", + "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", + "GET /repos/{owner}/{repo}/code-scanning/analyses", + "GET /repos/{owner}/{repo}/codespaces", + "GET /repos/{owner}/{repo}/codespaces/devcontainers", + "GET /repos/{owner}/{repo}/codespaces/secrets", + "GET /repos/{owner}/{repo}/collaborators", + "GET /repos/{owner}/{repo}/comments", + "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/commits", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", + "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", + "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", + "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", + "GET /repos/{owner}/{repo}/commits/{ref}/status", + "GET /repos/{owner}/{repo}/commits/{ref}/statuses", + "GET /repos/{owner}/{repo}/contributors", + "GET /repos/{owner}/{repo}/dependabot/alerts", + "GET /repos/{owner}/{repo}/dependabot/secrets", + "GET /repos/{owner}/{repo}/deployments", + "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", + "GET /repos/{owner}/{repo}/environments", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", + "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", + "GET /repos/{owner}/{repo}/events", + "GET /repos/{owner}/{repo}/forks", + "GET /repos/{owner}/{repo}/hooks", + "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", + "GET /repos/{owner}/{repo}/invitations", + "GET /repos/{owner}/{repo}/issues", + "GET /repos/{owner}/{repo}/issues/comments", + "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/issues/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", + "GET /repos/{owner}/{repo}/issues/{issue_number}/events", + "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", + "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", + "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", + "GET /repos/{owner}/{repo}/keys", + "GET /repos/{owner}/{repo}/labels", + "GET /repos/{owner}/{repo}/milestones", + "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", + "GET /repos/{owner}/{repo}/notifications", + "GET /repos/{owner}/{repo}/pages/builds", + "GET /repos/{owner}/{repo}/projects", + "GET /repos/{owner}/{repo}/pulls", + "GET /repos/{owner}/{repo}/pulls/comments", + "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", + "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", + "GET /repos/{owner}/{repo}/releases", + "GET /repos/{owner}/{repo}/releases/{release_id}/assets", + "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", + "GET /repos/{owner}/{repo}/rules/branches/{branch}", + "GET /repos/{owner}/{repo}/rulesets", + "GET /repos/{owner}/{repo}/rulesets/rule-suites", + "GET /repos/{owner}/{repo}/secret-scanning/alerts", + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", + "GET /repos/{owner}/{repo}/security-advisories", + "GET /repos/{owner}/{repo}/stargazers", + "GET /repos/{owner}/{repo}/subscribers", + "GET /repos/{owner}/{repo}/tags", + "GET /repos/{owner}/{repo}/teams", + "GET /repos/{owner}/{repo}/topics", + "GET /repositories", + "GET /repositories/{repository_id}/environments/{environment_name}/secrets", + "GET /repositories/{repository_id}/environments/{environment_name}/variables", + "GET /search/code", + "GET /search/commits", + "GET /search/issues", + "GET /search/labels", + "GET /search/repositories", + "GET /search/topics", + "GET /search/users", + "GET /teams/{team_id}/discussions", + "GET /teams/{team_id}/discussions/{discussion_number}/comments", + "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", + "GET /teams/{team_id}/discussions/{discussion_number}/reactions", + "GET /teams/{team_id}/invitations", + "GET /teams/{team_id}/members", + "GET /teams/{team_id}/projects", + "GET /teams/{team_id}/repos", + "GET /teams/{team_id}/teams", + "GET /user/blocks", + "GET /user/codespaces", + "GET /user/codespaces/secrets", + "GET /user/emails", + "GET /user/followers", + "GET /user/following", + "GET /user/gpg_keys", + "GET /user/installations", + "GET /user/installations/{installation_id}/repositories", + "GET /user/issues", + "GET /user/keys", + "GET /user/marketplace_purchases", + "GET /user/marketplace_purchases/stubbed", + "GET /user/memberships/orgs", + "GET /user/migrations", + "GET /user/migrations/{migration_id}/repositories", + "GET /user/orgs", + "GET /user/packages", + "GET /user/packages/{package_type}/{package_name}/versions", + "GET /user/public_emails", + "GET /user/repos", + "GET /user/repository_invitations", + "GET /user/social_accounts", + "GET /user/ssh_signing_keys", + "GET /user/starred", + "GET /user/subscriptions", + "GET /user/teams", + "GET /users", + "GET /users/{username}/events", + "GET /users/{username}/events/orgs/{org}", + "GET /users/{username}/events/public", + "GET /users/{username}/followers", + "GET /users/{username}/following", + "GET /users/{username}/gists", + "GET /users/{username}/gpg_keys", + "GET /users/{username}/keys", + "GET /users/{username}/orgs", + "GET /users/{username}/packages", + "GET /users/{username}/projects", + "GET /users/{username}/received_events", + "GET /users/{username}/received_events/public", + "GET /users/{username}/repos", + "GET /users/{username}/social_accounts", + "GET /users/{username}/ssh_signing_keys", + "GET /users/{username}/starred", + "GET /users/{username}/subscriptions" +]; + +// pkg/dist-src/paginating-endpoints.js +function isPaginatingEndpoint(arg) { + if (typeof arg === "string") { + return paginatingEndpoints.includes(arg); + } else { + return false; + } +} + +// pkg/dist-src/index.js +function paginateRest(octokit) { + return { + paginate: Object.assign(paginate.bind(null, octokit), { + iterator: iterator.bind(null, octokit) + }) + }; +} +paginateRest.VERSION = VERSION; +// Annotate the CommonJS export names for ESM import in node: +0 && (0); + + +/***/ }), + +/***/ 53864: +/***/ ((module) => { + +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + legacyRestEndpointMethods: () => legacyRestEndpointMethods, + restEndpointMethods: () => restEndpointMethods +}); +module.exports = __toCommonJS(dist_src_exports); + +// pkg/dist-src/version.js +var VERSION = "10.4.1"; + +// pkg/dist-src/generated/endpoints.js +var Endpoints = { + actions: { + addCustomLabelsToSelfHostedRunnerForOrg: [ + "POST /orgs/{org}/actions/runners/{runner_id}/labels" + ], + addCustomLabelsToSelfHostedRunnerForRepo: [ + "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" + ], + 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 /repositories/{repository_id}/environments/{environment_name}/variables" + ], + createOrUpdateEnvironmentSecret: [ + "PUT /repositories/{repository_id}/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 /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + deleteEnvironmentVariable: [ + "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + 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 /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" + ], + getEnvironmentSecret: [ + "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" + ], + getEnvironmentVariable: [ + "GET /repositories/{repository_id}/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" + ], + 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 /repositories/{repository_id}/environments/{environment_name}/secrets" + ], + listEnvironmentVariables: [ + "GET /repositories/{repository_id}/environments/{environment_name}/variables" + ], + 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 /repositories/{repository_id}/environments/{environment_name}/variables/{name}" + ], + 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" + ], + 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" + ] + }, + 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: { + deleteAnalysis: [ + "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" + ], + 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}" + ], + 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}"], + 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"] + }, + 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" + ], + getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], + getCopilotSeatDetailsForUser: [ + "GET /orgs/{org}/members/{username}/copilot" + ], + listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] + }, + 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}" + ], + setSelectedReposForOrgSecret: [ + "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" + ] + }, + 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}"] + }, + 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" + ], + addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], + 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}"], + 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"], + 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"], + 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" + ], + removeLabel: [ + "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" + ], + 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: { + cancelImport: [ + "DELETE /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import" + } + ], + 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" + ], + getCommitAuthors: [ + "GET /repos/{owner}/{repo}/import/authors", + {}, + { + deprecated: "octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors" + } + ], + getImportStatus: [ + "GET /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status" + } + ], + getLargeFiles: [ + "GET /repos/{owner}/{repo}/import/large_files", + {}, + { + deprecated: "octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files" + } + ], + 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"] } + ], + mapCommitAuthor: [ + "PATCH /repos/{owner}/{repo}/import/authors/{author_id}", + {}, + { + deprecated: "octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author" + } + ], + setLfsPreference: [ + "PATCH /repos/{owner}/{repo}/import/lfs", + {}, + { + deprecated: "octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference" + } + ], + startForAuthenticatedUser: ["POST /user/migrations"], + startForOrg: ["POST /orgs/{org}/migrations"], + startImport: [ + "PUT /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import" + } + ], + unlockRepoForAuthenticatedUser: [ + "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" + ], + unlockRepoForOrg: [ + "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" + ], + updateImport: [ + "PATCH /repos/{owner}/{repo}/import", + {}, + { + deprecated: "octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import" + } + ] + }, + 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}" + ], + 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}" + ], + createCustomOrganizationRole: ["POST /orgs/{org}/organization-roles"], + createInvitation: ["POST /orgs/{org}/invitations"], + 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}"], + deleteCustomOrganizationRole: [ + "DELETE /orgs/{org}/organization-roles/{role_id}" + ], + deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], + enableOrDisableSecurityProductOnAllOrgRepos: [ + "POST /orgs/{org}/{security_product}/{enablement}" + ], + 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}"], + 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"], + 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"], + 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"], + listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"], + listWebhooks: ["GET /orgs/{org}/hooks"], + patchCustomOrganizationRole: [ + "PATCH /orgs/{org}/organization-roles/{role_id}" + ], + 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}" + ], + 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}"], + 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" + ] + }, + projects: { + addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], + createCard: ["POST /projects/columns/{column_id}/cards"], + createColumn: ["POST /projects/{project_id}/columns"], + createForAuthenticatedUser: ["POST /user/projects"], + createForOrg: ["POST /orgs/{org}/projects"], + createForRepo: ["POST /repos/{owner}/{repo}/projects"], + delete: ["DELETE /projects/{project_id}"], + deleteCard: ["DELETE /projects/columns/cards/{card_id}"], + deleteColumn: ["DELETE /projects/columns/{column_id}"], + get: ["GET /projects/{project_id}"], + getCard: ["GET /projects/columns/cards/{card_id}"], + getColumn: ["GET /projects/columns/{column_id}"], + getPermissionForUser: [ + "GET /projects/{project_id}/collaborators/{username}/permission" + ], + listCards: ["GET /projects/columns/{column_id}/cards"], + listCollaborators: ["GET /projects/{project_id}/collaborators"], + listColumns: ["GET /projects/{project_id}/columns"], + listForOrg: ["GET /orgs/{org}/projects"], + listForRepo: ["GET /repos/{owner}/{repo}/projects"], + listForUser: ["GET /users/{username}/projects"], + moveCard: ["POST /projects/columns/cards/{card_id}/moves"], + moveColumn: ["POST /projects/columns/{column_id}/moves"], + removeCollaborator: [ + "DELETE /projects/{project_id}/collaborators/{username}" + ], + update: ["PATCH /projects/{project_id}"], + updateCard: ["PATCH /projects/columns/cards/{card_id}"], + updateColumn: ["PATCH /projects/columns/{column_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}"], + 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}" + ], + 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"], + createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], + 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}"], + deleteTagProtection: [ + "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_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}"], + 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"], + 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"], + listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], + 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"], + labels: ["GET /search/labels"], + repos: ["GET /search/repositories"], + topics: ["GET /search/topics"], + users: ["GET /search/users"] + }, + secretScanning: { + getAlert: [ + "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ], + 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" + ], + updateAlert: [ + "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" + ] + }, + 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}" + ], + addOrUpdateProjectPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + addOrUpdateRepoPermissionsInOrg: [ + "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" + ], + checkPermissionsForProjectInOrg: [ + "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + 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" + ], + listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], + listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], + removeMembershipForUserInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" + ], + removeProjectInOrg: [ + "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" + ], + 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"], + 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"], + 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"], + 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; + +// pkg/dist-src/endpoints-to-methods.js +var 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 + }); + } +} +var 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); +} + +// pkg/dist-src/index.js +function restEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + rest: api + }; +} +restEndpointMethods.VERSION = VERSION; +function legacyRestEndpointMethods(octokit) { + const api = endpointsToMethods(octokit); + return { + ...api, + rest: api + }; +} +legacyRestEndpointMethods.VERSION = VERSION; +// Annotate the CommonJS export names for ESM import in node: +0 && (0); + + +/***/ }), + +/***/ 35949: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + RequestError: () => RequestError +}); +module.exports = __toCommonJS(dist_src_exports); +var import_deprecation = __nccwpck_require__(75405); +var import_once = __toESM(__nccwpck_require__(89591)); +var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); +var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); +var RequestError = class extends Error { + constructor(message, statusCode, options) { + super(message); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + this.name = "HttpError"; + this.status = statusCode; + let headers; + if ("headers" in options && typeof options.headers !== "undefined") { + headers = options.headers; + } + if ("response" in options) { + this.response = options.response; + headers = options.response.headers; + } + const requestCopy = Object.assign({}, options.request); + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace( + / .*$/, + " [REDACTED]" + ) + }); + } + requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + Object.defineProperty(this, "code", { + get() { + logOnceCode( + new import_deprecation.Deprecation( + "[@octokit/request-error] `error.code` is deprecated, use `error.status`." + ) + ); + return statusCode; + } + }); + Object.defineProperty(this, "headers", { + get() { + logOnceHeaders( + new import_deprecation.Deprecation( + "[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`." + ) + ); + return headers || {}; + } + }); + } +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (0); + + +/***/ }), + +/***/ 11234: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// pkg/dist-src/index.js +var dist_src_exports = {}; +__export(dist_src_exports, { + request: () => request +}); +module.exports = __toCommonJS(dist_src_exports); +var import_endpoint = __nccwpck_require__(57368); +var import_universal_user_agent = __nccwpck_require__(16482); + +// pkg/dist-src/version.js +var VERSION = "8.4.0"; + +// pkg/dist-src/is-plain-object.js +function isPlainObject(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/fetch-wrapper.js +var import_request_error = __nccwpck_require__(35949); + +// pkg/dist-src/get-buffer-response.js +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +// pkg/dist-src/fetch-wrapper.js +function fetchWrapper(requestOptions) { + var _a, _b, _c, _d; + const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; + const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false; + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + let headers = {}; + let status; + let url; + let { fetch } = globalThis; + if ((_b = requestOptions.request) == null ? void 0 : _b.fetch) { + fetch = requestOptions.request.fetch; + } + if (!fetch) { + throw new Error( + "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" + ); + } + return fetch(requestOptions.url, { + method: requestOptions.method, + body: requestOptions.body, + redirect: (_c = requestOptions.request) == null ? void 0 : _c.redirect, + headers: requestOptions.headers, + signal: (_d = requestOptions.request) == null ? void 0 : _d.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" } + }).then(async (response) => { + url = response.url; + status = response.status; + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + if ("deprecation" in headers) { + const matches = headers.link && headers.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 ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` + ); + } + if (status === 204 || status === 205) { + return; + } + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + throw new import_request_error.RequestError(response.statusText, status, { + response: { + url, + status, + headers, + data: void 0 + }, + request: requestOptions + }); + } + if (status === 304) { + throw new import_request_error.RequestError("Not modified", status, { + response: { + url, + status, + headers, + data: await getResponseData(response) + }, + request: requestOptions + }); + } + if (status >= 400) { + const data = await getResponseData(response); + const error = new import_request_error.RequestError(toErrorMessage(data), status, { + response: { + url, + status, + headers, + data + }, + request: requestOptions + }); + throw error; + } + return parseSuccessResponseBody ? await getResponseData(response) : response.body; + }).then((data) => { + return { + status, + url, + headers, + data + }; + }).catch((error) => { + if (error instanceof import_request_error.RequestError) + throw error; + else if (error.name === "AbortError") + throw error; + let 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; + } + } + throw new import_request_error.RequestError(message, 500, { + request: requestOptions + }); + }); +} +async function getResponseData(response) { + const contentType = response.headers.get("content-type"); + if (/application\/json/.test(contentType)) { + return response.json().catch(() => response.text()).catch(() => ""); + } + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + return getBufferResponse(response); +} +function toErrorMessage(data) { + if (typeof data === "string") + return data; + let suffix; + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + if ("message" in data) { + if (Array.isArray(data.errors)) { + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; + } + return `${data.message}${suffix}`; + } + return `Unknown error: ${JSON.stringify(data)}`; +} + +// pkg/dist-src/with-defaults.js +function withDefaults(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.bind(null, endpoint2) + }); + return endpointOptions.request.hook(request2, endpointOptions); + }; + return Object.assign(newApi, { + endpoint: endpoint2, + defaults: withDefaults.bind(null, endpoint2) + }); +} + +// pkg/dist-src/index.js +var request = withDefaults(import_endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` + } +}); +// Annotate the CommonJS export names for ESM import in node: +0 && (0); + + +/***/ }), + +/***/ 27451: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var compileSchema = __nccwpck_require__(55218) + , resolve = __nccwpck_require__(43326) + , Cache = __nccwpck_require__(20222) + , SchemaObject = __nccwpck_require__(57569) + , stableStringify = __nccwpck_require__(30900) + , formats = __nccwpck_require__(91782) + , rules = __nccwpck_require__(7853) + , $dataMetaSchema = __nccwpck_require__(87710) + , util = __nccwpck_require__(14172); + +module.exports = Ajv; + +Ajv.prototype.validate = validate; +Ajv.prototype.compile = compile; +Ajv.prototype.addSchema = addSchema; +Ajv.prototype.addMetaSchema = addMetaSchema; +Ajv.prototype.validateSchema = validateSchema; +Ajv.prototype.getSchema = getSchema; +Ajv.prototype.removeSchema = removeSchema; +Ajv.prototype.addFormat = addFormat; +Ajv.prototype.errorsText = errorsText; + +Ajv.prototype._addSchema = _addSchema; +Ajv.prototype._compile = _compile; + +Ajv.prototype.compileAsync = __nccwpck_require__(94166); +var customKeyword = __nccwpck_require__(72203); +Ajv.prototype.addKeyword = customKeyword.add; +Ajv.prototype.getKeyword = customKeyword.get; +Ajv.prototype.removeKeyword = customKeyword.remove; +Ajv.prototype.validateKeyword = customKeyword.validate; + +var errorClasses = __nccwpck_require__(52159); +Ajv.ValidationError = errorClasses.Validation; +Ajv.MissingRefError = errorClasses.MissingRef; +Ajv.$dataMetaSchema = $dataMetaSchema; + +var META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema'; + +var META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ]; +var META_SUPPORT_DATA = ['/properties']; + +/** + * Creates validator instance. + * Usage: `Ajv(opts)` + * @param {Object} opts optional options + * @return {Object} ajv instance + */ +function Ajv(opts) { + if (!(this instanceof Ajv)) return new Ajv(opts); + opts = this._opts = util.copy(opts) || {}; + setLogger(this); + this._schemas = {}; + this._refs = {}; + this._fragments = {}; + this._formats = formats(opts.format); + + this._cache = opts.cache || new Cache; + this._loadingSchemas = {}; + this._compilations = []; + this.RULES = rules(); + this._getId = chooseGetId(opts); + + opts.loopRequired = opts.loopRequired || Infinity; + if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true; + if (opts.serialize === undefined) opts.serialize = stableStringify; + this._metaOpts = getMetaSchemaOptions(this); + + if (opts.formats) addInitialFormats(this); + if (opts.keywords) addInitialKeywords(this); + addDefaultMetaSchema(this); + if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta); + if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}}); + addInitialSchemas(this); +} + + + +/** + * Validate data using schema + * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize. + * @this Ajv + * @param {String|Object} schemaKeyRef key, ref or schema object + * @param {Any} data to be validated + * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). + */ +function validate(schemaKeyRef, data) { + var v; + if (typeof schemaKeyRef == 'string') { + v = this.getSchema(schemaKeyRef); + if (!v) throw new Error('no schema with key or ref "' + schemaKeyRef + '"'); + } else { + var schemaObj = this._addSchema(schemaKeyRef); + v = schemaObj.validate || this._compile(schemaObj); + } + + var valid = v(data); + if (v.$async !== true) this.errors = v.errors; + return valid; +} + + +/** + * Create validating function for passed schema. + * @this Ajv + * @param {Object} schema schema object + * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords. + * @return {Function} validating function + */ +function compile(schema, _meta) { + var schemaObj = this._addSchema(schema, undefined, _meta); + return schemaObj.validate || this._compile(schemaObj); +} + + +/** + * Adds schema to the instance. + * @this Ajv + * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. + * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. + * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead. + * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. + * @return {Ajv} this for method chaining + */ +function addSchema(schema, key, _skipValidation, _meta) { + if (Array.isArray(schema)){ + for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used. + * @param {Object} options optional options with properties `separator` and `dataVar`. + * @return {String} human readable string with all errors descriptions + */ +function errorsText(errors, options) { + errors = errors || this.errors; + if (!errors) return 'No errors'; + options = options || {}; + var separator = options.separator === undefined ? ', ' : options.separator; + var dataVar = options.dataVar === undefined ? 'data' : options.dataVar; + + var text = ''; + for (var i=0; i { + +"use strict"; + + + +var Cache = module.exports = function Cache() { + this._cache = {}; +}; + + +Cache.prototype.put = function Cache_put(key, value) { + this._cache[key] = value; +}; + + +Cache.prototype.get = function Cache_get(key) { + return this._cache[key]; +}; + + +Cache.prototype.del = function Cache_del(key) { + delete this._cache[key]; +}; + + +Cache.prototype.clear = function Cache_clear() { + this._cache = {}; +}; + + +/***/ }), + +/***/ 94166: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var MissingRefError = (__nccwpck_require__(52159).MissingRef); + +module.exports = compileAsync; + + +/** + * Creates validating function for passed schema with asynchronous loading of missing schemas. + * `loadSchema` option should be a function that accepts schema uri and returns promise that resolves with the schema. + * @this Ajv + * @param {Object} schema schema object + * @param {Boolean} meta optional true to compile meta-schema; this parameter can be skipped + * @param {Function} callback an optional node-style callback, it is called with 2 parameters: error (or null) and validating function. + * @return {Promise} promise that resolves with a validating function. + */ +function compileAsync(schema, meta, callback) { + /* eslint no-shadow: 0 */ + /* global Promise */ + /* jshint validthis: true */ + var self = this; + if (typeof this._opts.loadSchema != 'function') + throw new Error('options.loadSchema should be a function'); + + if (typeof meta == 'function') { + callback = meta; + meta = undefined; + } + + var p = loadMetaSchemaOf(schema).then(function () { + var schemaObj = self._addSchema(schema, undefined, meta); + return schemaObj.validate || _compileAsync(schemaObj); + }); + + if (callback) { + p.then( + function(v) { callback(null, v); }, + callback + ); + } + + return p; + + + function loadMetaSchemaOf(sch) { + var $schema = sch.$schema; + return $schema && !self.getSchema($schema) + ? compileAsync.call(self, { $ref: $schema }, true) + : Promise.resolve(); + } + + + function _compileAsync(schemaObj) { + try { return self._compile(schemaObj); } + catch(e) { + if (e instanceof MissingRefError) return loadMissingSchema(e); + throw e; + } + + + function loadMissingSchema(e) { + var ref = e.missingSchema; + if (added(ref)) throw new Error('Schema ' + ref + ' is loaded but ' + e.missingRef + ' cannot be resolved'); + + var schemaPromise = self._loadingSchemas[ref]; + if (!schemaPromise) { + schemaPromise = self._loadingSchemas[ref] = self._opts.loadSchema(ref); + schemaPromise.then(removePromise, removePromise); + } + + return schemaPromise.then(function (sch) { + if (!added(ref)) { + return loadMetaSchemaOf(sch).then(function () { + if (!added(ref)) self.addSchema(sch, ref, undefined, meta); + }); + } + }).then(function() { + return _compileAsync(schemaObj); + }); + + function removePromise() { + delete self._loadingSchemas[ref]; + } + + function added(ref) { + return self._refs[ref] || self._schemas[ref]; + } + } + } +} + + +/***/ }), + +/***/ 52159: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var resolve = __nccwpck_require__(43326); + +module.exports = { + Validation: errorSubclass(ValidationError), + MissingRef: errorSubclass(MissingRefError) +}; + + +function ValidationError(errors) { + this.message = 'validation failed'; + this.errors = errors; + this.ajv = this.validation = true; +} + + +MissingRefError.message = function (baseId, ref) { + return 'can\'t resolve reference ' + ref + ' from id ' + baseId; +}; + + +function MissingRefError(baseId, ref, message) { + this.message = message || MissingRefError.message(baseId, ref); + this.missingRef = resolve.url(baseId, ref); + this.missingSchema = resolve.normalizeId(resolve.fullPath(this.missingRef)); +} + + +function errorSubclass(Subclass) { + Subclass.prototype = Object.create(Error.prototype); + Subclass.prototype.constructor = Subclass; + return Subclass; +} + + +/***/ }), + +/***/ 91782: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var util = __nccwpck_require__(14172); + +var DATE = /^(\d\d\d\d)-(\d\d)-(\d\d)$/; +var DAYS = [0,31,28,31,30,31,30,31,31,30,31,30,31]; +var TIME = /^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i; +var HOSTNAME = /^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i; +var URI = /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i; +var URIREF = /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i; +// uri-template: https://tools.ietf.org/html/rfc6570 +var URITEMPLATE = /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i; +// For the source: https://gist.github.com/dperini/729294 +// For test cases: https://mathiasbynens.be/demo/url-regex +// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983. +// var URL = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu; +var URL = /^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i; +var UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; +var JSON_POINTER = /^(?:\/(?:[^~/]|~0|~1)*)*$/; +var JSON_POINTER_URI_FRAGMENT = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i; +var RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/; + + +module.exports = formats; + +function formats(mode) { + mode = mode == 'full' ? 'full' : 'fast'; + return util.copy(formats[mode]); +} + + +formats.fast = { + // date: http://tools.ietf.org/html/rfc3339#section-5.6 + date: /^\d\d\d\d-[0-1]\d-[0-3]\d$/, + // date-time: http://tools.ietf.org/html/rfc3339#section-5.6 + time: /^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, + 'date-time': /^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, + // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js + uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i, + 'uri-reference': /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i, + 'uri-template': URITEMPLATE, + url: URL, + // email (sources from jsen validator): + // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363 + // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation') + email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i, + hostname: HOSTNAME, + // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + // uuid: http://tools.ietf.org/html/rfc4122 + uuid: UUID, + // JSON-pointer: https://tools.ietf.org/html/rfc6901 + // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00 + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +formats.full = { + date: date, + time: time, + 'date-time': date_time, + uri: uri, + 'uri-reference': URIREF, + 'uri-template': URITEMPLATE, + url: URL, + email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, + hostname: HOSTNAME, + ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, + ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, + regex: regex, + uuid: UUID, + 'json-pointer': JSON_POINTER, + 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, + 'relative-json-pointer': RELATIVE_JSON_POINTER +}; + + +function isLeapYear(year) { + // https://tools.ietf.org/html/rfc3339#appendix-C + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + + +function date(str) { + // full-date from http://tools.ietf.org/html/rfc3339#section-5.6 + var matches = str.match(DATE); + if (!matches) return false; + + var year = +matches[1]; + var month = +matches[2]; + var day = +matches[3]; + + return month >= 1 && month <= 12 && day >= 1 && + day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]); +} + + +function time(str, full) { + var matches = str.match(TIME); + if (!matches) return false; + + var hour = matches[1]; + var minute = matches[2]; + var second = matches[3]; + var timeZone = matches[5]; + return ((hour <= 23 && minute <= 59 && second <= 59) || + (hour == 23 && minute == 59 && second == 60)) && + (!full || timeZone); +} + + +var DATE_TIME_SEPARATOR = /t|\s/i; +function date_time(str) { + // http://tools.ietf.org/html/rfc3339#section-5.6 + var dateTime = str.split(DATE_TIME_SEPARATOR); + return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true); +} + + +var NOT_URI_FRAGMENT = /\/|:/; +function uri(str) { + // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required "." + return NOT_URI_FRAGMENT.test(str) && URI.test(str); +} + + +var Z_ANCHOR = /[^\\]\\Z/; +function regex(str) { + if (Z_ANCHOR.test(str)) return false; + try { + new RegExp(str); + return true; + } catch(e) { + return false; + } +} + + +/***/ }), + +/***/ 55218: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var resolve = __nccwpck_require__(43326) + , util = __nccwpck_require__(14172) + , errorClasses = __nccwpck_require__(52159) + , stableStringify = __nccwpck_require__(30900); + +var validateGenerator = __nccwpck_require__(94073); + +/** + * Functions below are used inside compiled validations function + */ + +var ucs2length = util.ucs2length; +var equal = __nccwpck_require__(57577); + +// this error is thrown by async schemas to return validation errors via exception +var ValidationError = errorClasses.Validation; + +module.exports = compile; + + +/** + * Compiles schema to validation function + * @this Ajv + * @param {Object} schema schema object + * @param {Object} root object with information about the root schema for this schema + * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution + * @param {String} baseId base ID for IDs in the schema + * @return {Function} validation function + */ +function compile(schema, root, localRefs, baseId) { + /* jshint validthis: true, evil: true */ + /* eslint no-shadow: 0 */ + var self = this + , opts = this._opts + , refVal = [ undefined ] + , refs = {} + , patterns = [] + , patternsHash = {} + , defaults = [] + , defaultsHash = {} + , customRules = []; + + root = root || { schema: schema, refVal: refVal, refs: refs }; + + var c = checkCompiling.call(this, schema, root, baseId); + var compilation = this._compilations[c.index]; + if (c.compiling) return (compilation.callValidate = callValidate); + + var formats = this._formats; + var RULES = this.RULES; + + try { + var v = localCompile(schema, root, localRefs, baseId); + compilation.validate = v; + var cv = compilation.callValidate; + if (cv) { + cv.schema = v.schema; + cv.errors = null; + cv.refs = v.refs; + cv.refVal = v.refVal; + cv.root = v.root; + cv.$async = v.$async; + if (opts.sourceCode) cv.source = v.source; + } + return v; + } finally { + endCompiling.call(this, schema, root, baseId); + } + + /* @this {*} - custom context, see passContext option */ + function callValidate() { + /* jshint validthis: true */ + var validate = compilation.validate; + var result = validate.apply(this, arguments); + callValidate.errors = validate.errors; + return result; + } + + function localCompile(_schema, _root, localRefs, baseId) { + var isRoot = !_root || (_root && _root.schema == _schema); + if (_root.schema != root.schema) + return compile.call(self, _schema, _root, localRefs, baseId); + + var $async = _schema.$async === true; + + var sourceCode = validateGenerator({ + isTop: true, + schema: _schema, + isRoot: isRoot, + baseId: baseId, + root: _root, + schemaPath: '', + errSchemaPath: '#', + errorPath: '""', + MissingRefError: errorClasses.MissingRef, + RULES: RULES, + validate: validateGenerator, + util: util, + resolve: resolve, + resolveRef: resolveRef, + usePattern: usePattern, + useDefault: useDefault, + useCustomRule: useCustomRule, + opts: opts, + formats: formats, + logger: self.logger, + self: self + }); + + sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode) + + vars(defaults, defaultCode) + vars(customRules, customRuleCode) + + sourceCode; + + if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema); + // console.log('\n\n\n *** \n', JSON.stringify(sourceCode)); + var validate; + try { + var makeValidate = new Function( + 'self', + 'RULES', + 'formats', + 'root', + 'refVal', + 'defaults', + 'customRules', + 'equal', + 'ucs2length', + 'ValidationError', + sourceCode + ); + + validate = makeValidate( + self, + RULES, + formats, + root, + refVal, + defaults, + customRules, + equal, + ucs2length, + ValidationError + ); + + refVal[0] = validate; + } catch(e) { + self.logger.error('Error compiling schema, function code:', sourceCode); + throw e; + } + + validate.schema = _schema; + validate.errors = null; + validate.refs = refs; + validate.refVal = refVal; + validate.root = isRoot ? validate : _root; + if ($async) validate.$async = true; + if (opts.sourceCode === true) { + validate.source = { + code: sourceCode, + patterns: patterns, + defaults: defaults + }; + } + + return validate; + } + + function resolveRef(baseId, ref, isRoot) { + ref = resolve.url(baseId, ref); + var refIndex = refs[ref]; + var _refVal, refCode; + if (refIndex !== undefined) { + _refVal = refVal[refIndex]; + refCode = 'refVal[' + refIndex + ']'; + return resolvedRef(_refVal, refCode); + } + if (!isRoot && root.refs) { + var rootRefId = root.refs[ref]; + if (rootRefId !== undefined) { + _refVal = root.refVal[rootRefId]; + refCode = addLocalRef(ref, _refVal); + return resolvedRef(_refVal, refCode); + } + } + + refCode = addLocalRef(ref); + var v = resolve.call(self, localCompile, root, ref); + if (v === undefined) { + var localSchema = localRefs && localRefs[ref]; + if (localSchema) { + v = resolve.inlineRef(localSchema, opts.inlineRefs) + ? localSchema + : compile.call(self, localSchema, root, localRefs, baseId); + } + } + + if (v === undefined) { + removeLocalRef(ref); + } else { + replaceLocalRef(ref, v); + return resolvedRef(v, refCode); + } + } + + function addLocalRef(ref, v) { + var refId = refVal.length; + refVal[refId] = v; + refs[ref] = refId; + return 'refVal' + refId; + } + + function removeLocalRef(ref) { + delete refs[ref]; + } + + function replaceLocalRef(ref, v) { + var refId = refs[ref]; + refVal[refId] = v; + } + + function resolvedRef(refVal, code) { + return typeof refVal == 'object' || typeof refVal == 'boolean' + ? { code: code, schema: refVal, inline: true } + : { code: code, $async: refVal && !!refVal.$async }; + } + + function usePattern(regexStr) { + var index = patternsHash[regexStr]; + if (index === undefined) { + index = patternsHash[regexStr] = patterns.length; + patterns[index] = regexStr; + } + return 'pattern' + index; + } + + function useDefault(value) { + switch (typeof value) { + case 'boolean': + case 'number': + return '' + value; + case 'string': + return util.toQuotedString(value); + case 'object': + if (value === null) return 'null'; + var valueStr = stableStringify(value); + var index = defaultsHash[valueStr]; + if (index === undefined) { + index = defaultsHash[valueStr] = defaults.length; + defaults[index] = value; + } + return 'default' + index; + } + } + + function useCustomRule(rule, schema, parentSchema, it) { + if (self._opts.validateSchema !== false) { + var deps = rule.definition.dependencies; + if (deps && !deps.every(function(keyword) { + return Object.prototype.hasOwnProperty.call(parentSchema, keyword); + })) + throw new Error('parent schema must have all required keywords: ' + deps.join(',')); + + var validateSchema = rule.definition.validateSchema; + if (validateSchema) { + var valid = validateSchema(schema); + if (!valid) { + var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors); + if (self._opts.validateSchema == 'log') self.logger.error(message); + else throw new Error(message); + } + } + } + + var compile = rule.definition.compile + , inline = rule.definition.inline + , macro = rule.definition.macro; + + var validate; + if (compile) { + validate = compile.call(self, schema, parentSchema, it); + } else if (macro) { + validate = macro.call(self, schema, parentSchema, it); + if (opts.validateSchema !== false) self.validateSchema(validate, true); + } else if (inline) { + validate = inline.call(self, it, rule.keyword, schema, parentSchema); + } else { + validate = rule.definition.validate; + if (!validate) return; + } + + if (validate === undefined) + throw new Error('custom keyword "' + rule.keyword + '"failed to compile'); + + var index = customRules.length; + customRules[index] = validate; + + return { + code: 'customRule' + index, + validate: validate + }; + } +} + + +/** + * Checks if the schema is currently compiled + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Object} object with properties "index" (compilation index) and "compiling" (boolean) + */ +function checkCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var index = compIndex.call(this, schema, root, baseId); + if (index >= 0) return { index: index, compiling: true }; + index = this._compilations.length; + this._compilations[index] = { + schema: schema, + root: root, + baseId: baseId + }; + return { index: index, compiling: false }; +} + + +/** + * Removes the schema from the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + */ +function endCompiling(schema, root, baseId) { + /* jshint validthis: true */ + var i = compIndex.call(this, schema, root, baseId); + if (i >= 0) this._compilations.splice(i, 1); +} + + +/** + * Index of schema compilation in the currently compiled list + * @this Ajv + * @param {Object} schema schema to compile + * @param {Object} root root object + * @param {String} baseId base schema ID + * @return {Integer} compilation index + */ +function compIndex(schema, root, baseId) { + /* jshint validthis: true */ + for (var i=0; i { + +"use strict"; + + +var URI = __nccwpck_require__(94411) + , equal = __nccwpck_require__(57577) + , util = __nccwpck_require__(14172) + , SchemaObject = __nccwpck_require__(57569) + , traverse = __nccwpck_require__(68874); + +module.exports = resolve; + +resolve.normalizeId = normalizeId; +resolve.fullPath = getFullPath; +resolve.url = resolveUrl; +resolve.ids = resolveIds; +resolve.inlineRef = inlineRef; +resolve.schema = resolveSchema; + +/** + * [resolve and compile the references ($ref)] + * @this Ajv + * @param {Function} compile reference to schema compilation funciton (localCompile) + * @param {Object} root object with information about the root schema for the current schema + * @param {String} ref reference to resolve + * @return {Object|Function} schema object (if the schema can be inlined) or validation function + */ +function resolve(compile, root, ref) { + /* jshint validthis: true */ + var refVal = this._refs[ref]; + if (typeof refVal == 'string') { + if (this._refs[refVal]) refVal = this._refs[refVal]; + else return resolve.call(this, compile, root, refVal); + } + + refVal = refVal || this._schemas[ref]; + if (refVal instanceof SchemaObject) { + return inlineRef(refVal.schema, this._opts.inlineRefs) + ? refVal.schema + : refVal.validate || this._compile(refVal); + } + + var res = resolveSchema.call(this, root, ref); + var schema, v, baseId; + if (res) { + schema = res.schema; + root = res.root; + baseId = res.baseId; + } + + if (schema instanceof SchemaObject) { + v = schema.validate || compile.call(this, schema.schema, root, undefined, baseId); + } else if (schema !== undefined) { + v = inlineRef(schema, this._opts.inlineRefs) + ? schema + : compile.call(this, schema, root, undefined, baseId); + } + + return v; +} + + +/** + * Resolve schema, its root and baseId + * @this Ajv + * @param {Object} root root object with properties schema, refVal, refs + * @param {String} ref reference to resolve + * @return {Object} object with properties schema, root, baseId + */ +function resolveSchema(root, ref) { + /* jshint validthis: true */ + var p = URI.parse(ref) + , refPath = _getFullPath(p) + , baseId = getFullPath(this._getId(root.schema)); + if (Object.keys(root.schema).length === 0 || refPath !== baseId) { + var id = normalizeId(refPath); + var refVal = this._refs[id]; + if (typeof refVal == 'string') { + return resolveRecursive.call(this, root, refVal, p); + } else if (refVal instanceof SchemaObject) { + if (!refVal.validate) this._compile(refVal); + root = refVal; + } else { + refVal = this._schemas[id]; + if (refVal instanceof SchemaObject) { + if (!refVal.validate) this._compile(refVal); + if (id == normalizeId(ref)) + return { schema: refVal, root: root, baseId: baseId }; + root = refVal; + } else { + return; + } + } + if (!root.schema) return; + baseId = getFullPath(this._getId(root.schema)); + } + return getJsonPointer.call(this, p, baseId, root.schema, root); +} + + +/* @this Ajv */ +function resolveRecursive(root, ref, parsedRef) { + /* jshint validthis: true */ + var res = resolveSchema.call(this, root, ref); + if (res) { + var schema = res.schema; + var baseId = res.baseId; + root = res.root; + var id = this._getId(schema); + if (id) baseId = resolveUrl(baseId, id); + return getJsonPointer.call(this, parsedRef, baseId, schema, root); + } +} + + +var PREVENT_SCOPE_CHANGE = util.toHash(['properties', 'patternProperties', 'enum', 'dependencies', 'definitions']); +/* @this Ajv */ +function getJsonPointer(parsedRef, baseId, schema, root) { + /* jshint validthis: true */ + parsedRef.fragment = parsedRef.fragment || ''; + if (parsedRef.fragment.slice(0,1) != '/') return; + var parts = parsedRef.fragment.split('/'); + + for (var i = 1; i < parts.length; i++) { + var part = parts[i]; + if (part) { + part = util.unescapeFragment(part); + schema = schema[part]; + if (schema === undefined) break; + var id; + if (!PREVENT_SCOPE_CHANGE[part]) { + id = this._getId(schema); + if (id) baseId = resolveUrl(baseId, id); + if (schema.$ref) { + var $ref = resolveUrl(baseId, schema.$ref); + var res = resolveSchema.call(this, root, $ref); + if (res) { + schema = res.schema; + root = res.root; + baseId = res.baseId; + } + } + } + } + } + if (schema !== undefined && schema !== root.schema) + return { schema: schema, root: root, baseId: baseId }; +} + + +var SIMPLE_INLINED = util.toHash([ + 'type', 'format', 'pattern', + 'maxLength', 'minLength', + 'maxProperties', 'minProperties', + 'maxItems', 'minItems', + 'maximum', 'minimum', + 'uniqueItems', 'multipleOf', + 'required', 'enum' +]); +function inlineRef(schema, limit) { + if (limit === false) return false; + if (limit === undefined || limit === true) return checkNoRef(schema); + else if (limit) return countKeys(schema) <= limit; +} + + +function checkNoRef(schema) { + var item; + if (Array.isArray(schema)) { + for (var i=0; i { + +"use strict"; + + +var ruleModules = __nccwpck_require__(33059) + , toHash = (__nccwpck_require__(14172).toHash); + +module.exports = function rules() { + var RULES = [ + { type: 'number', + rules: [ { 'maximum': ['exclusiveMaximum'] }, + { 'minimum': ['exclusiveMinimum'] }, 'multipleOf', 'format'] }, + { type: 'string', + rules: [ 'maxLength', 'minLength', 'pattern', 'format' ] }, + { type: 'array', + rules: [ 'maxItems', 'minItems', 'items', 'contains', 'uniqueItems' ] }, + { type: 'object', + rules: [ 'maxProperties', 'minProperties', 'required', 'dependencies', 'propertyNames', + { 'properties': ['additionalProperties', 'patternProperties'] } ] }, + { rules: [ '$ref', 'const', 'enum', 'not', 'anyOf', 'oneOf', 'allOf', 'if' ] } + ]; + + var ALL = [ 'type', '$comment' ]; + var KEYWORDS = [ + '$schema', '$id', 'id', '$data', '$async', 'title', + 'description', 'default', 'definitions', + 'examples', 'readOnly', 'writeOnly', + 'contentMediaType', 'contentEncoding', + 'additionalItems', 'then', 'else' + ]; + var TYPES = [ 'number', 'integer', 'string', 'array', 'object', 'boolean', 'null' ]; + RULES.all = toHash(ALL); + RULES.types = toHash(TYPES); + + RULES.forEach(function (group) { + group.rules = group.rules.map(function (keyword) { + var implKeywords; + if (typeof keyword == 'object') { + var key = Object.keys(keyword)[0]; + implKeywords = keyword[key]; + keyword = key; + implKeywords.forEach(function (k) { + ALL.push(k); + RULES.all[k] = true; + }); + } + ALL.push(keyword); + var rule = RULES.all[keyword] = { + keyword: keyword, + code: ruleModules[keyword], + implements: implKeywords + }; + return rule; + }); + + RULES.all.$comment = { + keyword: '$comment', + code: ruleModules.$comment + }; + + if (group.type) RULES.types[group.type] = group; + }); + + RULES.keywords = toHash(ALL.concat(KEYWORDS)); + RULES.custom = {}; + + return RULES; +}; + + +/***/ }), + +/***/ 57569: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var util = __nccwpck_require__(14172); + +module.exports = SchemaObject; + +function SchemaObject(obj) { + util.copy(obj, this); +} + + +/***/ }), + +/***/ 64645: +/***/ ((module) => { + +"use strict"; + + +// https://mathiasbynens.be/notes/javascript-encoding +// https://github.com/bestiejs/punycode.js - punycode.ucs2.decode +module.exports = function ucs2length(str) { + var length = 0 + , len = str.length + , pos = 0 + , value; + while (pos < len) { + length++; + value = str.charCodeAt(pos++); + if (value >= 0xD800 && value <= 0xDBFF && pos < len) { + // high surrogate, and there is a next character + value = str.charCodeAt(pos); + if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate + } + } + return length; +}; + + +/***/ }), + +/***/ 14172: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + + +module.exports = { + copy: copy, + checkDataType: checkDataType, + checkDataTypes: checkDataTypes, + coerceToTypes: coerceToTypes, + toHash: toHash, + getProperty: getProperty, + escapeQuotes: escapeQuotes, + equal: __nccwpck_require__(57577), + ucs2length: __nccwpck_require__(64645), + varOccurences: varOccurences, + varReplace: varReplace, + schemaHasRules: schemaHasRules, + schemaHasRulesExcept: schemaHasRulesExcept, + schemaUnknownRules: schemaUnknownRules, + toQuotedString: toQuotedString, + getPathExpr: getPathExpr, + getPath: getPath, + getData: getData, + unescapeFragment: unescapeFragment, + unescapeJsonPointer: unescapeJsonPointer, + escapeFragment: escapeFragment, + escapeJsonPointer: escapeJsonPointer +}; + + +function copy(o, to) { + to = to || {}; + for (var key in o) to[key] = o[key]; + return to; +} + + +function checkDataType(dataType, data, strictNumbers, negate) { + var EQUAL = negate ? ' !== ' : ' === ' + , AND = negate ? ' || ' : ' && ' + , OK = negate ? '!' : '' + , NOT = negate ? '' : '!'; + switch (dataType) { + case 'null': return data + EQUAL + 'null'; + case 'array': return OK + 'Array.isArray(' + data + ')'; + case 'object': return '(' + OK + data + AND + + 'typeof ' + data + EQUAL + '"object"' + AND + + NOT + 'Array.isArray(' + data + '))'; + case 'integer': return '(typeof ' + data + EQUAL + '"number"' + AND + + NOT + '(' + data + ' % 1)' + + AND + data + EQUAL + data + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + case 'number': return '(typeof ' + data + EQUAL + '"' + dataType + '"' + + (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; + default: return 'typeof ' + data + EQUAL + '"' + dataType + '"'; + } +} + + +function checkDataTypes(dataTypes, data, strictNumbers) { + switch (dataTypes.length) { + case 1: return checkDataType(dataTypes[0], data, strictNumbers, true); + default: + var code = ''; + var types = toHash(dataTypes); + if (types.array && types.object) { + code = types.null ? '(': '(!' + data + ' || '; + code += 'typeof ' + data + ' !== "object")'; + delete types.null; + delete types.array; + delete types.object; + } + if (types.number) delete types.integer; + for (var t in types) + code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true); + + return code; + } +} + + +var COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]); +function coerceToTypes(optionCoerceTypes, dataTypes) { + if (Array.isArray(dataTypes)) { + var types = []; + for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl); + return paths[lvl - up]; + } + + if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl); + data = 'data' + ((lvl - up) || ''); + if (!jsonPointer) return data; + } + + var expr = data; + var segments = jsonPointer.split('/'); + for (var i=0; i { + +"use strict"; + + +var KEYWORDS = [ + 'multipleOf', + 'maximum', + 'exclusiveMaximum', + 'minimum', + 'exclusiveMinimum', + 'maxLength', + 'minLength', + 'pattern', + 'additionalItems', + 'maxItems', + 'minItems', + 'uniqueItems', + 'maxProperties', + 'minProperties', + 'required', + 'additionalProperties', + 'enum', + 'format', + 'const' +]; + +module.exports = function (metaSchema, keywordsJsonPointers) { + for (var i=0; i { + +"use strict"; + + +var metaSchema = __nccwpck_require__(8198); + +module.exports = { + $id: 'https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js', + definitions: { + simpleTypes: metaSchema.definitions.simpleTypes + }, + type: 'object', + dependencies: { + schema: ['validate'], + $data: ['validate'], + statements: ['inline'], + valid: {not: {required: ['macro']}} + }, + properties: { + type: metaSchema.properties.type, + schema: {type: 'boolean'}, + statements: {type: 'boolean'}, + dependencies: { + type: 'array', + items: {type: 'string'} + }, + metaSchema: {type: 'object'}, + modifying: {type: 'boolean'}, + valid: {type: 'boolean'}, + $data: {type: 'boolean'}, + async: {type: 'boolean'}, + errors: { + anyOf: [ + {type: 'boolean'}, + {const: 'full'} + ] + } + } +}; + + +/***/ }), + +/***/ 52595: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate__limit(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $isMax = $keyword == 'maximum', + $exclusiveKeyword = $isMax ? 'exclusiveMaximum' : 'exclusiveMinimum', + $schemaExcl = it.schema[$exclusiveKeyword], + $isDataExcl = it.opts.$data && $schemaExcl && $schemaExcl.$data, + $op = $isMax ? '<' : '>', + $notOp = $isMax ? '>' : '<', + $errorKeyword = undefined; + if (!($isData || typeof $schema == 'number' || $schema === undefined)) { + throw new Error($keyword + ' must be number'); + } + if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) { + throw new Error($exclusiveKeyword + ' must be number or boolean'); + } + if ($isDataExcl) { + var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr), + $exclusive = 'exclusive' + $lvl, + $exclType = 'exclType' + $lvl, + $exclIsNumber = 'exclIsNumber' + $lvl, + $opExpr = 'op' + $lvl, + $opStr = '\' + ' + $opExpr + ' + \''; + out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; '; + $schemaValueExcl = 'schemaExcl' + $lvl; + out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \'boolean\' && ' + ($exclType) + ' != \'undefined\' && ' + ($exclType) + ' != \'number\') { '; + var $errorKeyword = $exclusiveKeyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_exclusiveLimit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'' + ($exclusiveKeyword) + ' should be boolean\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($exclType) + ' == \'number\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \'' + ($op) + '\' : \'' + ($op) + '=\'; '; + if ($schema === undefined) { + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaValueExcl; + $isData = $isDataExcl; + } + } else { + var $exclIsNumber = typeof $schemaExcl == 'number', + $opStr = $op; + if ($exclIsNumber && $isData) { + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { '; + } else { + if ($exclIsNumber && $schema === undefined) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $schemaValue = $schemaExcl; + $notOp += '='; + } else { + if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); + if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { + $exclusive = true; + $errorKeyword = $exclusiveKeyword; + $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; + $notOp += '='; + } else { + $exclusive = false; + $opStr += '='; + } + } + var $opExpr = '\'' + $opStr + '\''; + out += ' if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { '; + } + } + $errorKeyword = $errorKeyword || $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be ' + ($opStr) + ' '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + + +/***/ }), + +/***/ 7727: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate__limitItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxItems' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxItems') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + + +/***/ }), + +/***/ 93335: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate__limitLength(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxLength' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + if (it.opts.unicode === false) { + out += ' ' + ($data) + '.length '; + } else { + out += ' ucs2length(' + ($data) + ') '; + } + out += ' ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitLength') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be '; + if ($keyword == 'maxLength') { + out += 'longer'; + } else { + out += 'shorter'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' characters\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + + +/***/ }), + +/***/ 67594: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate__limitProperties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + var $op = $keyword == 'maxProperties' ? '>' : '<'; + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; + } + out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { '; + var $errorKeyword = $keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || '_limitProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have '; + if ($keyword == 'maxProperties') { + out += 'more'; + } else { + out += 'fewer'; + } + out += ' than '; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + ($schema); + } + out += ' properties\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + + +/***/ }), + +/***/ 7833: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_allOf(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $allSchemasEmpty = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $allSchemasEmpty = false; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($breakOnError) { + if ($allSchemasEmpty) { + out += ' if (true) { '; + } else { + out += ' ' + ($closingBraces.slice(0, -1)) + ' '; + } + } + return out; +} + + +/***/ }), + +/***/ 36896: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_anyOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $noEmptySchema = $schema.every(function($sch) { + return (it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)); + }); + if ($noEmptySchema) { + var $currentBaseId = $it.baseId; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { '; + $closingBraces += '}'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('anyOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should match some schema in anyOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} + + +/***/ }), + +/***/ 54766: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_comment(it, $keyword, $ruleType) { + var out = ' '; + var $schema = it.schema[$keyword]; + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $comment = it.util.toQuotedString($schema); + if (it.opts.$comment === true) { + out += ' console.log(' + ($comment) + ');'; + } else if (typeof it.opts.$comment == 'function') { + out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);'; + } + return out; +} + + +/***/ }), + +/***/ 19480: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_const(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!$isData) { + out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('const') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to constant\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + + +/***/ }), + +/***/ 27506: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_contains(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId, + $nonEmptySchema = (it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)); + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($nonEmptySchema) { + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (' + ($nextValid) + ') break; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {'; + } else { + out += ' if (' + ($data) + '.length == 0) {'; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('contains') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should contain a valid item\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + if ($nonEmptySchema) { + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + } + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} + + +/***/ }), + +/***/ 94064: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_custom(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $rule = this, + $definition = 'definition' + $lvl, + $rDef = $rule.definition, + $closingBraces = ''; + var $compile, $inline, $macro, $ruleValidate, $validateCode; + if ($isData && $rDef.$data) { + $validateCode = 'keywordValidate' + $lvl; + var $validateSchema = $rDef.validateSchema; + out += ' var ' + ($definition) + ' = RULES.custom[\'' + ($keyword) + '\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;'; + } else { + $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); + if (!$ruleValidate) return; + $schemaValue = 'validate.schema' + $schemaPath; + $validateCode = $ruleValidate.code; + $compile = $rDef.compile; + $inline = $rDef.inline; + $macro = $rDef.macro; + } + var $ruleErrs = $validateCode + '.errors', + $i = 'i' + $lvl, + $ruleErr = 'ruleErr' + $lvl, + $asyncKeyword = $rDef.async; + if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema'); + if (!($inline || $macro)) { + out += '' + ($ruleErrs) + ' = null;'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if ($isData && $rDef.$data) { + $closingBraces += '}'; + out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { '; + if ($validateSchema) { + $closingBraces += '}'; + out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { '; + } + } + if ($inline) { + if ($rDef.statements) { + out += ' ' + ($ruleValidate.validate) + ' '; + } else { + out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; '; + } + } else if ($macro) { + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + $it.schema = $ruleValidate.validate; + $it.schemaPath = ''; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it).replace(/validate\.schema/g, $validateCode); + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' ' + ($code); + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + out += ' ' + ($validateCode) + '.call( '; + if (it.opts.passContext) { + out += 'this'; + } else { + out += 'self'; + } + if ($compile || $rDef.schema === false) { + out += ' , ' + ($data) + ' '; + } else { + out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' '; + } + out += ' , (dataPath || \'\')'; + if (it.errorPath != '""') { + out += ' + ' + (it.errorPath); + } + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData ) '; + var def_callRuleValidate = out; + out = $$outStack.pop(); + if ($rDef.errors === false) { + out += ' ' + ($valid) + ' = '; + if ($asyncKeyword) { + out += 'await '; + } + out += '' + (def_callRuleValidate) + '; '; + } else { + if ($asyncKeyword) { + $ruleErrs = 'customErrors' + $lvl; + out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } '; + } else { + out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; '; + } + } + } + if ($rDef.modifying) { + out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];'; + } + out += '' + ($closingBraces); + if ($rDef.valid) { + if ($breakOnError) { + out += ' if (true) { '; + } + } else { + out += ' if ( '; + if ($rDef.valid === undefined) { + out += ' !'; + if ($macro) { + out += '' + ($nextValid); + } else { + out += '' + ($valid); + } + } else { + out += ' ' + (!$rDef.valid) + ' '; + } + out += ') { '; + $errorKeyword = $rule.keyword; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'custom') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \'' + ($rule.keyword) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should pass "' + ($rule.keyword) + '" keyword validation\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + var def_customError = out; + out = $$outStack.pop(); + if ($inline) { + if ($rDef.errors) { + if ($rDef.errors != 'full') { + out += ' for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + ' { + +"use strict"; + +module.exports = function generate_dependencies(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $schemaDeps = {}, + $propertyDeps = {}, + $ownProperties = it.opts.ownProperties; + for ($property in $schema) { + if ($property == '__proto__') continue; + var $sch = $schema[$property]; + var $deps = Array.isArray($sch) ? $propertyDeps : $schemaDeps; + $deps[$property] = $sch; + } + out += 'var ' + ($errs) + ' = errors;'; + var $currentErrorPath = it.errorPath; + out += 'var missing' + ($lvl) + ';'; + for (var $property in $propertyDeps) { + $deps = $propertyDeps[$property]; + if ($deps.length) { + out += ' if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($property)) + '\') '; + } + if ($breakOnError) { + out += ' && ( '; + var arr1 = $deps; + if (arr1) { + var $propertyKey, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $propertyKey = arr1[$i += 1]; + if ($i) { + out += ' || '; + } + var $prop = it.util.getProperty($propertyKey), + $useData = $data + $prop; + out += ' ( ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) '; + } + } + out += ')) { '; + var $propertyPath = 'missing' + $lvl, + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('dependencies') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { property: \'' + (it.util.escapeQuotes($property)) + '\', missingProperty: \'' + ($missingProperty) + '\', depsCount: ' + ($deps.length) + ', deps: \'' + (it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(", "))) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should have '; + if ($deps.length == 1) { + out += 'property ' + (it.util.escapeQuotes($deps[0])); + } else { + out += 'properties ' + (it.util.escapeQuotes($deps.join(", "))); + } + out += ' when property ' + (it.util.escapeQuotes($property)) + ' is present\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } else { + out += ' ) { '; + var arr2 = $deps; + if (arr2) { + var $propertyKey, i2 = -1, + l2 = arr2.length - 1; + while (i2 < l2) { + $propertyKey = arr2[i2 += 1]; + var $prop = it.util.getProperty($propertyKey), + $missingProperty = it.util.escapeQuotes($propertyKey), + $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('dependencies') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { property: \'' + (it.util.escapeQuotes($property)) + '\', missingProperty: \'' + ($missingProperty) + '\', depsCount: ' + ($deps.length) + ', deps: \'' + (it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(", "))) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should have '; + if ($deps.length == 1) { + out += 'property ' + (it.util.escapeQuotes($deps[0])); + } else { + out += 'properties ' + (it.util.escapeQuotes($deps.join(", "))); + } + out += ' when property ' + (it.util.escapeQuotes($property)) + ' is present\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } '; + } + } + } + out += ' } '; + if ($breakOnError) { + $closingBraces += '}'; + out += ' else { '; + } + } + } + it.errorPath = $currentErrorPath; + var $currentBaseId = $it.baseId; + for (var $property in $schemaDeps) { + var $sch = $schemaDeps[$property]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($property)) + '\') '; + } + out += ') { '; + $it.schema = $sch; + $it.schemaPath = $schemaPath + it.util.getProperty($property); + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} + + +/***/ }), + +/***/ 39854: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_enum(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $i = 'i' + $lvl, + $vSchema = 'schema' + $lvl; + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';'; + } + out += 'var ' + ($valid) + ';'; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }'; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('enum') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be equal to one of the allowed values\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' }'; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + + +/***/ }), + +/***/ 47272: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_format(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + if (it.opts.format === false) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $unknownFormats = it.opts.unknownFormats, + $allowUnknown = Array.isArray($unknownFormats); + if ($isData) { + var $format = 'format' + $lvl, + $isObject = 'isObject' + $lvl, + $formatType = 'formatType' + $lvl; + out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \'object\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \'string\'; if (' + ($isObject) + ') { '; + if (it.async) { + out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; '; + } + out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' ('; + if ($unknownFormats != 'ignore') { + out += ' (' + ($schemaValue) + ' && !' + ($format) + ' '; + if ($allowUnknown) { + out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 '; + } + out += ') || '; + } + out += ' (' + ($format) + ' && ' + ($formatType) + ' == \'' + ($ruleType) + '\' && !(typeof ' + ($format) + ' == \'function\' ? '; + if (it.async) { + out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) '; + } else { + out += ' ' + ($format) + '(' + ($data) + ') '; + } + out += ' : ' + ($format) + '.test(' + ($data) + '))))) {'; + } else { + var $format = it.formats[$schema]; + if (!$format) { + if ($unknownFormats == 'ignore') { + it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } else { + throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); + } + } + var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate; + var $formatType = $isObject && $format.type || 'string'; + if ($isObject) { + var $async = $format.async === true; + $format = $format.validate; + } + if ($formatType != $ruleType) { + if ($breakOnError) { + out += ' if (true) { '; + } + return out; + } + if ($async) { + if (!it.async) throw new Error('async format in sync schema'); + var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; + out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { '; + } else { + out += ' if (! '; + var $formatRef = 'formats' + it.util.getProperty($schema); + if ($isObject) $formatRef += '.validate'; + if (typeof $format == 'function') { + out += ' ' + ($formatRef) + '(' + ($data) + ') '; + } else { + out += ' ' + ($formatRef) + '.test(' + ($data) + ') '; + } + out += ') { '; + } + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('format') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match format "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + + +/***/ }), + +/***/ 43036: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_if(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + var $thenSch = it.schema['then'], + $elseSch = it.schema['else'], + $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? (typeof $thenSch == 'object' && Object.keys($thenSch).length > 0) || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)), + $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? (typeof $elseSch == 'object' && Object.keys($elseSch).length > 0) || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)), + $currentBaseId = $it.baseId; + if ($thenPresent || $elsePresent) { + var $ifClause; + $it.createErrors = false; + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + $it.createErrors = true; + out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + if ($thenPresent) { + out += ' if (' + ($nextValid) + ') { '; + $it.schema = it.schema['then']; + $it.schemaPath = it.schemaPath + '.then'; + $it.errSchemaPath = it.errSchemaPath + '/then'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'then\'; '; + } else { + $ifClause = '\'then\''; + } + out += ' } '; + if ($elsePresent) { + out += ' else { '; + } + } else { + out += ' if (!' + ($nextValid) + ') { '; + } + if ($elsePresent) { + $it.schema = it.schema['else']; + $it.schemaPath = it.schemaPath + '.else'; + $it.errSchemaPath = it.errSchemaPath + '/else'; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; + if ($thenPresent && $elsePresent) { + $ifClause = 'ifClause' + $lvl; + out += ' var ' + ($ifClause) + ' = \'else\'; '; + } else { + $ifClause = '\'else\''; + } + out += ' } '; + } + out += ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('if') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match "\' + ' + ($ifClause) + ' + \'" schema\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} + + +/***/ }), + +/***/ 33059: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +//all requires must be explicit because browserify won't work with dynamic requires +module.exports = { + '$ref': __nccwpck_require__(66006), + allOf: __nccwpck_require__(7833), + anyOf: __nccwpck_require__(36896), + '$comment': __nccwpck_require__(54766), + const: __nccwpck_require__(19480), + contains: __nccwpck_require__(27506), + dependencies: __nccwpck_require__(83502), + 'enum': __nccwpck_require__(39854), + format: __nccwpck_require__(47272), + 'if': __nccwpck_require__(43036), + items: __nccwpck_require__(38091), + maximum: __nccwpck_require__(52595), + minimum: __nccwpck_require__(52595), + maxItems: __nccwpck_require__(7727), + minItems: __nccwpck_require__(7727), + maxLength: __nccwpck_require__(93335), + minLength: __nccwpck_require__(93335), + maxProperties: __nccwpck_require__(67594), + minProperties: __nccwpck_require__(67594), + multipleOf: __nccwpck_require__(92038), + not: __nccwpck_require__(17242), + oneOf: __nccwpck_require__(78102), + pattern: __nccwpck_require__(88917), + properties: __nccwpck_require__(84342), + propertyNames: __nccwpck_require__(34464), + required: __nccwpck_require__(68018), + uniqueItems: __nccwpck_require__(99922), + validate: __nccwpck_require__(94073) +}; + + +/***/ }), + +/***/ 38091: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_items(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $idx = 'i' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $currentBaseId = it.baseId; + out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; + if (Array.isArray($schema)) { + var $additionalItems = it.schema.additionalItems; + if ($additionalItems === false) { + out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have more than ' + ($schema.length) + ' items\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + $closingBraces += '}'; + out += ' else { '; + } + } + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { '; + var $passData = $data + '[' + $i + ']'; + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); + $it.dataPathArr[$dataNxt] = $i; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? (typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0) || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) { + $it.schema = $additionalItems; + $it.schemaPath = it.schemaPath + '.additionalItems'; + $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; + out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') { for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } else if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); + var $passData = $data + '[' + $idx + ']'; + $it.dataPathArr[$dataNxt] = $idx; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' }'; + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} + + +/***/ }), + +/***/ 92038: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_multipleOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (!($isData || typeof $schema == 'number')) { + throw new Error($keyword + ' must be number'); + } + out += 'var division' + ($lvl) + ';if ('; + if ($isData) { + out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \'number\' || '; + } + out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', '; + if (it.opts.multipleOfPrecision) { + out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' '; + } else { + out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') '; + } + out += ' ) '; + if ($isData) { + out += ' ) '; + } + out += ' ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('multipleOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be multiple of '; + if ($isData) { + out += '\' + ' + ($schemaValue); + } else { + out += '' + ($schemaValue) + '\''; + } + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + + +/***/ }), + +/***/ 17242: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_not(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.createErrors = false; + var $allErrorsOption; + if ($it.opts.allErrors) { + $allErrorsOption = $it.opts.allErrors; + $it.opts.allErrors = false; + } + out += ' ' + (it.validate($it)) + ' '; + $it.createErrors = true; + if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (' + ($nextValid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; + if (it.opts.allErrors) { + out += ' } '; + } + } else { + out += ' var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT be valid\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if ($breakOnError) { + out += ' if (false) { '; + } + } + return out; +} + + +/***/ }), + +/***/ 78102: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_oneOf(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $currentBaseId = $it.baseId, + $prevValid = 'prevValid' + $lvl, + $passingSchemas = 'passingSchemas' + $lvl; + out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var arr1 = $schema; + if (arr1) { + var $sch, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $sch = arr1[$i += 1]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = $schemaPath + '[' + $i + ']'; + $it.errSchemaPath = $errSchemaPath + '/' + $i; + out += ' ' + (it.validate($it)) + ' '; + $it.baseId = $currentBaseId; + } else { + out += ' var ' + ($nextValid) + ' = true; '; + } + if ($i) { + out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { '; + $closingBraces += '}'; + } + out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }'; + } + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += '' + ($closingBraces) + 'if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('oneOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match exactly one schema in oneOf\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; return false; '; + } + } + out += '} else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }'; + if (it.opts.allErrors) { + out += ' } '; + } + return out; +} + + +/***/ }), + +/***/ 88917: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_pattern(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema); + out += 'if ( '; + if ($isData) { + out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; + } + out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('pattern') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: '; + if ($isData) { + out += '' + ($schemaValue); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should match pattern "'; + if ($isData) { + out += '\' + ' + ($schemaValue) + ' + \''; + } else { + out += '' + (it.util.escapeQuotes($schema)); + } + out += '"\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + (it.util.toQuotedString($schema)); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += '} '; + if ($breakOnError) { + out += ' else { '; + } + return out; +} + + +/***/ }), + +/***/ 84342: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_properties(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl; + var $schemaKeys = Object.keys($schema || {}).filter(notProto), + $pProperties = it.schema.patternProperties || {}, + $pPropertyKeys = Object.keys($pProperties).filter(notProto), + $aProperties = it.schema.additionalProperties, + $someProperties = $schemaKeys.length || $pPropertyKeys.length, + $noAdditional = $aProperties === false, + $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length, + $removeAdditional = it.opts.removeAdditional, + $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + var $required = it.schema.required; + if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { + var $requiredHash = it.util.toHash($required); + } + + function notProto(p) { + return p !== '__proto__'; + } + out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;'; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined;'; + } + if ($checkAdditional) { + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + if ($someProperties) { + out += ' var isAdditional' + ($lvl) + ' = !(false '; + if ($schemaKeys.length) { + if ($schemaKeys.length > 8) { + out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') '; + } else { + var arr1 = $schemaKeys; + if (arr1) { + var $propertyKey, i1 = -1, + l1 = arr1.length - 1; + while (i1 < l1) { + $propertyKey = arr1[i1 += 1]; + out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' '; + } + } + } + } + if ($pPropertyKeys.length) { + var arr2 = $pPropertyKeys; + if (arr2) { + var $pProperty, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $pProperty = arr2[$i += 1]; + out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') '; + } + } + } + out += ' ); if (isAdditional' + ($lvl) + ') { '; + } + if ($removeAdditional == 'all') { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + var $currentErrorPath = it.errorPath; + var $additionalProperty = '\' + ' + $key + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + } + if ($noAdditional) { + if ($removeAdditional) { + out += ' delete ' + ($data) + '[' + ($key) + ']; '; + } else { + out += ' ' + ($nextValid) + ' = false; '; + var $currErrSchemaPath = $errSchemaPath; + $errSchemaPath = it.errSchemaPath + '/additionalProperties'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('additionalProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \'' + ($additionalProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is an invalid additional property'; + } else { + out += 'should NOT have additional properties'; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + if ($breakOnError) { + out += ' break; '; + } + } + } else if ($additionalIsSchema) { + if ($removeAdditional == 'failing') { + out += ' var ' + ($errs) + ' = errors; '; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; } '; + it.compositeRule = $it.compositeRule = $wasComposite; + } else { + $it.schema = $aProperties; + $it.schemaPath = it.schemaPath + '.additionalProperties'; + $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; + $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + } + } + it.errorPath = $currentErrorPath; + } + if ($someProperties) { + out += ' } '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + var $useDefaults = it.opts.useDefaults && !it.compositeRule; + if ($schemaKeys.length) { + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + var $prop = it.util.getProperty($propertyKey), + $passData = $data + $prop, + $hasDefault = $useDefaults && $sch.default !== undefined; + $it.schema = $sch; + $it.schemaPath = $schemaPath + $prop; + $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); + $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); + $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + $code = it.util.varReplace($code, $nextData, $passData); + var $useData = $passData; + } else { + var $useData = $nextData; + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; '; + } + if ($hasDefault) { + out += ' ' + ($code) + ' '; + } else { + if ($requiredHash && $requiredHash[$propertyKey]) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = false; '; + var $currentErrorPath = it.errorPath, + $currErrSchemaPath = $errSchemaPath, + $missingProperty = it.util.escapeQuotes($propertyKey); + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + $errSchemaPath = it.errSchemaPath + '/required'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + $errSchemaPath = $currErrSchemaPath; + it.errorPath = $currentErrorPath; + out += ' } else { '; + } else { + if ($breakOnError) { + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { ' + ($nextValid) + ' = true; } else { '; + } else { + out += ' if (' + ($useData) + ' !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ' ) { '; + } + } + out += ' ' + ($code) + ' } '; + } + } + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + if ($pPropertyKeys.length) { + var arr4 = $pPropertyKeys; + if (arr4) { + var $pProperty, i4 = -1, + l4 = arr4.length - 1; + while (i4 < l4) { + $pProperty = arr4[i4 += 1]; + var $sch = $pProperties[$pProperty]; + if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { + $it.schema = $sch; + $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); + $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty); + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { '; + $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); + var $passData = $data + '[' + $key + ']'; + $it.dataPathArr[$dataNxt] = $key; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + if ($breakOnError) { + out += ' if (!' + ($nextValid) + ') break; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else ' + ($nextValid) + ' = true; '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + $closingBraces += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; + } + return out; +} + + +/***/ }), + +/***/ 34464: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_propertyNames(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $errs = 'errs__' + $lvl; + var $it = it.util.copy(it); + var $closingBraces = ''; + $it.level++; + var $nextValid = 'valid' + $it.level; + out += 'var ' + ($errs) + ' = errors;'; + if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { + $it.schema = $schema; + $it.schemaPath = $schemaPath; + $it.errSchemaPath = $errSchemaPath; + var $key = 'key' + $lvl, + $idx = 'idx' + $lvl, + $i = 'i' + $lvl, + $invalidName = '\' + ' + $key + ' + \'', + $dataNxt = $it.dataLevel = it.dataLevel + 1, + $nextData = 'data' + $dataNxt, + $dataProperties = 'dataProperties' + $lvl, + $ownProperties = it.opts.ownProperties, + $currentBaseId = it.baseId; + if ($ownProperties) { + out += ' var ' + ($dataProperties) + ' = undefined; '; + } + if ($ownProperties) { + out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; + } else { + out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; + } + out += ' var startErrs' + ($lvl) + ' = errors; '; + var $passData = $key; + var $wasComposite = it.compositeRule; + it.compositeRule = $it.compositeRule = true; + var $code = it.validate($it); + $it.baseId = $currentBaseId; + if (it.util.varOccurences($code, $nextData) < 2) { + out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; + } else { + out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; + } + it.compositeRule = $it.compositeRule = $wasComposite; + out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + ' { + +"use strict"; + +module.exports = function generate_ref(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $async, $refCode; + if ($schema == '#' || $schema == '#/') { + if (it.isRoot) { + $async = it.async; + $refCode = 'validate'; + } else { + $async = it.root.schema.$async === true; + $refCode = 'root.refVal[0]'; + } + } else { + var $refVal = it.resolveRef(it.baseId, $schema, it.isRoot); + if ($refVal === undefined) { + var $message = it.MissingRefError.message(it.baseId, $schema); + if (it.opts.missingRefs == 'fail') { + it.logger.error($message); + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('$ref') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { ref: \'' + (it.util.escapeQuotes($schema)) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'can\\\'t resolve reference ' + (it.util.escapeQuotes($schema)) + '\' '; + } + if (it.opts.verbose) { + out += ' , schema: ' + (it.util.toQuotedString($schema)) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + if ($breakOnError) { + out += ' if (false) { '; + } + } else if (it.opts.missingRefs == 'ignore') { + it.logger.warn($message); + if ($breakOnError) { + out += ' if (true) { '; + } + } else { + throw new it.MissingRefError(it.baseId, $schema, $message); + } + } else if ($refVal.inline) { + var $it = it.util.copy(it); + $it.level++; + var $nextValid = 'valid' + $it.level; + $it.schema = $refVal.schema; + $it.schemaPath = ''; + $it.errSchemaPath = $schema; + var $code = it.validate($it).replace(/validate\.schema/g, $refVal.code); + out += ' ' + ($code) + ' '; + if ($breakOnError) { + out += ' if (' + ($nextValid) + ') { '; + } + } else { + $async = $refVal.$async === true || (it.async && $refVal.$async !== false); + $refCode = $refVal.code; + } + } + if ($refCode) { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; + if (it.opts.passContext) { + out += ' ' + ($refCode) + '.call(this, '; + } else { + out += ' ' + ($refCode) + '( '; + } + out += ' ' + ($data) + ', (dataPath || \'\')'; + if (it.errorPath != '""') { + out += ' + ' + (it.errorPath); + } + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ', rootData) '; + var __callValidate = out; + out = $$outStack.pop(); + if ($async) { + if (!it.async) throw new Error('async schema referenced by sync schema'); + if ($breakOnError) { + out += ' var ' + ($valid) + '; '; + } + out += ' try { await ' + (__callValidate) + '; '; + if ($breakOnError) { + out += ' ' + ($valid) + ' = true; '; + } + out += ' } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; '; + if ($breakOnError) { + out += ' ' + ($valid) + ' = false; '; + } + out += ' } '; + if ($breakOnError) { + out += ' if (' + ($valid) + ') { '; + } + } else { + out += ' if (!' + (__callValidate) + ') { if (vErrors === null) vErrors = ' + ($refCode) + '.errors; else vErrors = vErrors.concat(' + ($refCode) + '.errors); errors = vErrors.length; } '; + if ($breakOnError) { + out += ' else { '; + } + } + } + return out; +} + + +/***/ }), + +/***/ 68018: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_required(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + var $vSchema = 'schema' + $lvl; + if (!$isData) { + if ($schema.length < it.opts.loopRequired && it.schema.properties && Object.keys(it.schema.properties).length) { + var $required = []; + var arr1 = $schema; + if (arr1) { + var $property, i1 = -1, + l1 = arr1.length - 1; + while (i1 < l1) { + $property = arr1[i1 += 1]; + var $propertySch = it.schema.properties[$property]; + if (!($propertySch && (it.opts.strictKeywords ? (typeof $propertySch == 'object' && Object.keys($propertySch).length > 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) { + $required[$required.length] = $property; + } + } + } + } else { + var $required = $schema; + } + } + if ($isData || $required.length) { + var $currentErrorPath = it.errorPath, + $loopRequired = $isData || $required.length >= it.opts.loopRequired, + $ownProperties = it.opts.ownProperties; + if ($breakOnError) { + out += ' var missing' + ($lvl) + '; '; + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + out += ' var ' + ($valid) + ' = true; '; + if ($isData) { + out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined '; + if ($ownProperties) { + out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += '; if (!' + ($valid) + ') break; } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } else { + out += ' if ( '; + var arr2 = $required; + if (arr2) { + var $propertyKey, $i = -1, + l2 = arr2.length - 1; + while ($i < l2) { + $propertyKey = arr2[$i += 1]; + if ($i) { + out += ' || '; + } + var $prop = it.util.getProperty($propertyKey), + $useData = $data + $prop; + out += ' ( ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) '; + } + } + out += ') { '; + var $propertyPath = 'missing' + $lvl, + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } else { '; + } + } else { + if ($loopRequired) { + if (!$isData) { + out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; + } + var $i = 'i' + $lvl, + $propertyPath = 'schema' + $lvl + '[' + $i + ']', + $missingProperty = '\' + ' + $propertyPath + ' + \''; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); + } + if ($isData) { + out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { '; + } + out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } '; + if ($isData) { + out += ' } '; + } + } else { + var arr3 = $required; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $prop = it.util.getProperty($propertyKey), + $missingProperty = it.util.escapeQuotes($propertyKey), + $useData = $data + $prop; + if (it.opts._errorDataPathProperty) { + it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); + } + out += ' if ( ' + ($useData) + ' === undefined '; + if ($ownProperties) { + out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; + } + out += ') { var err = '; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \''; + if (it.opts._errorDataPathProperty) { + out += 'is a required property'; + } else { + out += 'should have required property \\\'' + ($missingProperty) + '\\\''; + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } '; + } + } + } + } + it.errorPath = $currentErrorPath; + } else if ($breakOnError) { + out += ' if (true) {'; + } + return out; +} + + +/***/ }), + +/***/ 99922: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_uniqueItems(it, $keyword, $ruleType) { + var out = ' '; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + var $isData = it.opts.$data && $schema && $schema.$data, + $schemaValue; + if ($isData) { + out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; + $schemaValue = 'schema' + $lvl; + } else { + $schemaValue = $schema; + } + if (($schema || $isData) && it.opts.uniqueItems !== false) { + if ($isData) { + out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \'boolean\') ' + ($valid) + ' = false; else { '; + } + out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { '; + var $itemType = it.schema.items && it.schema.items.type, + $typeIsArray = Array.isArray($itemType); + if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) { + out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } '; + } else { + out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; '; + var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); + out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; '; + if ($typeIsArray) { + out += ' if (typeof item == \'string\') item = \'"\' + item; '; + } + out += ' if (typeof itemIndices[item] == \'number\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } '; + } + out += ' } '; + if ($isData) { + out += ' } '; + } + out += ' if (!' + ($valid) + ') { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ('uniqueItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } '; + if (it.opts.messages !== false) { + out += ' , message: \'should NOT have duplicate items (items ## \' + j + \' and \' + i + \' are identical)\' '; + } + if (it.opts.verbose) { + out += ' , schema: '; + if ($isData) { + out += 'validate.schema' + ($schemaPath); + } else { + out += '' + ($schema); + } + out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + if ($breakOnError) { + out += ' else { '; + } + } else { + if ($breakOnError) { + out += ' if (true) { '; + } + } + return out; +} + + +/***/ }), + +/***/ 94073: +/***/ ((module) => { + +"use strict"; + +module.exports = function generate_validate(it, $keyword, $ruleType) { + var out = ''; + var $async = it.schema.$async === true, + $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'), + $id = it.self._getId(it.schema); + if (it.opts.strictKeywords) { + var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); + if ($unknownKwd) { + var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; + if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); + else throw new Error($keywordsMsg); + } + } + if (it.isTop) { + out += ' var validate = '; + if ($async) { + it.async = true; + out += 'async '; + } + out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \'use strict\'; '; + if ($id && (it.opts.sourceCode || it.opts.processCode)) { + out += ' ' + ('/\*# sourceURL=' + $id + ' */') + ' '; + } + } + if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) { + var $keyword = 'false schema'; + var $lvl = it.level; + var $dataLvl = it.dataLevel; + var $schema = it.schema[$keyword]; + var $schemaPath = it.schemaPath + it.util.getProperty($keyword); + var $errSchemaPath = it.errSchemaPath + '/' + $keyword; + var $breakOnError = !it.opts.allErrors; + var $errorKeyword; + var $data = 'data' + ($dataLvl || ''); + var $valid = 'valid' + $lvl; + if (it.schema === false) { + if (it.isTop) { + $breakOnError = true; + } else { + out += ' var ' + ($valid) + ' = false; '; + } + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'false schema') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; + if (it.opts.messages !== false) { + out += ' , message: \'boolean schema is false\' '; + } + if (it.opts.verbose) { + out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } else { + if (it.isTop) { + if ($async) { + out += ' return data; '; + } else { + out += ' validate.errors = null; return true; '; + } + } else { + out += ' var ' + ($valid) + ' = true; '; + } + } + if (it.isTop) { + out += ' }; return validate; '; + } + return out; + } + if (it.isTop) { + var $top = it.isTop, + $lvl = it.level = 0, + $dataLvl = it.dataLevel = 0, + $data = 'data'; + it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); + it.baseId = it.baseId || it.rootId; + delete it.isTop; + it.dataPathArr = [""]; + if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored in the schema root'; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + out += ' var vErrors = null; '; + out += ' var errors = 0; '; + out += ' if (rootData === undefined) rootData = data; '; + } else { + var $lvl = it.level, + $dataLvl = it.dataLevel, + $data = 'data' + ($dataLvl || ''); + if ($id) it.baseId = it.resolve.url(it.baseId, $id); + if ($async && !it.async) throw new Error('async schema in sync schema'); + out += ' var errs_' + ($lvl) + ' = errors;'; + } + var $valid = 'valid' + $lvl, + $breakOnError = !it.opts.allErrors, + $closingBraces1 = '', + $closingBraces2 = ''; + var $errorKeyword; + var $typeSchema = it.schema.type, + $typeIsArray = Array.isArray($typeSchema); + if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { + if ($typeIsArray) { + if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null'); + } else if ($typeSchema != 'null') { + $typeSchema = [$typeSchema, 'null']; + $typeIsArray = true; + } + } + if ($typeIsArray && $typeSchema.length == 1) { + $typeSchema = $typeSchema[0]; + $typeIsArray = false; + } + if (it.schema.$ref && $refKeywords) { + if (it.opts.extendRefs == 'fail') { + throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); + } else if (it.opts.extendRefs !== true) { + $refKeywords = false; + it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); + } + } + if (it.schema.$comment && it.opts.$comment) { + out += ' ' + (it.RULES.all.$comment.code(it, '$comment')); + } + if ($typeSchema) { + if (it.opts.coerceTypes) { + var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); + } + var $rulesGroup = it.RULES.types[$typeSchema]; + if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) { + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type', + $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; + out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { '; + if ($coerceToTypes) { + var $dataType = 'dataType' + $lvl, + $coerced = 'coerced' + $lvl; + out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; '; + if (it.opts.coerceTypes == 'array') { + out += ' if (' + ($dataType) + ' == \'object\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } '; + } + out += ' if (' + ($coerced) + ' !== undefined) ; '; + var arr1 = $coerceToTypes; + if (arr1) { + var $type, $i = -1, + l1 = arr1.length - 1; + while ($i < l1) { + $type = arr1[$i += 1]; + if ($type == 'string') { + out += ' else if (' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\') ' + ($coerced) + ' = \'\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \'\'; '; + } else if ($type == 'number' || $type == 'integer') { + out += ' else if (' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \'string\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' '; + if ($type == 'integer') { + out += ' && !(' + ($data) + ' % 1)'; + } + out += ')) ' + ($coerced) + ' = +' + ($data) + '; '; + } else if ($type == 'boolean') { + out += ' else if (' + ($data) + ' === \'false\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \'true\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; '; + } else if ($type == 'null') { + out += ' else if (' + ($data) + ' === \'\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; '; + } else if (it.opts.coerceTypes == 'array' && $type == 'array') { + out += ' else if (' + ($dataType) + ' == \'string\' || ' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; '; + } + } + } + out += ' else { '; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } if (' + ($coerced) + ' !== undefined) { '; + var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', + $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; + out += ' ' + ($data) + ' = ' + ($coerced) + '; '; + if (!$dataLvl) { + out += 'if (' + ($parentData) + ' !== undefined)'; + } + out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } '; + } else { + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + } + out += ' } '; + } + } + if (it.schema.$ref && !$refKeywords) { + out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' '; + if ($breakOnError) { + out += ' } if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } else { + var arr2 = it.RULES; + if (arr2) { + var $rulesGroup, i2 = -1, + l2 = arr2.length - 1; + while (i2 < l2) { + $rulesGroup = arr2[i2 += 1]; + if ($shouldUseGroup($rulesGroup)) { + if ($rulesGroup.type) { + out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { '; + } + if (it.opts.useDefaults) { + if ($rulesGroup.type == 'object' && it.schema.properties) { + var $schema = it.schema.properties, + $schemaKeys = Object.keys($schema); + var arr3 = $schemaKeys; + if (arr3) { + var $propertyKey, i3 = -1, + l3 = arr3.length - 1; + while (i3 < l3) { + $propertyKey = arr3[i3 += 1]; + var $sch = $schema[$propertyKey]; + if ($sch.default !== undefined) { + var $passData = $data + it.util.getProperty($propertyKey); + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) { + var arr4 = it.schema.items; + if (arr4) { + var $sch, $i = -1, + l4 = arr4.length - 1; + while ($i < l4) { + $sch = arr4[$i += 1]; + if ($sch.default !== undefined) { + var $passData = $data + '[' + $i + ']'; + if (it.compositeRule) { + if (it.opts.strictDefaults) { + var $defaultMsg = 'default is ignored for: ' + $passData; + if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); + else throw new Error($defaultMsg); + } + } else { + out += ' if (' + ($passData) + ' === undefined '; + if (it.opts.useDefaults == 'empty') { + out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; + } + out += ' ) ' + ($passData) + ' = '; + if (it.opts.useDefaults == 'shared') { + out += ' ' + (it.useDefault($sch.default)) + ' '; + } else { + out += ' ' + (JSON.stringify($sch.default)) + ' '; + } + out += '; '; + } + } + } + } + } + } + var arr5 = $rulesGroup.rules; + if (arr5) { + var $rule, i5 = -1, + l5 = arr5.length - 1; + while (i5 < l5) { + $rule = arr5[i5 += 1]; + if ($shouldUseRule($rule)) { + var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); + if ($code) { + out += ' ' + ($code) + ' '; + if ($breakOnError) { + $closingBraces1 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces1) + ' '; + $closingBraces1 = ''; + } + if ($rulesGroup.type) { + out += ' } '; + if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) { + out += ' else { '; + var $schemaPath = it.schemaPath + '.type', + $errSchemaPath = it.errSchemaPath + '/type'; + var $$outStack = $$outStack || []; + $$outStack.push(out); + out = ''; /* istanbul ignore else */ + if (it.createErrors !== false) { + out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' } '; + if (it.opts.messages !== false) { + out += ' , message: \'should be '; + if ($typeIsArray) { + out += '' + ($typeSchema.join(",")); + } else { + out += '' + ($typeSchema); + } + out += '\' '; + } + if (it.opts.verbose) { + out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; + } + out += ' } '; + } else { + out += ' {} '; + } + var __err = out; + out = $$outStack.pop(); + if (!it.compositeRule && $breakOnError) { + /* istanbul ignore if */ + if (it.async) { + out += ' throw new ValidationError([' + (__err) + ']); '; + } else { + out += ' validate.errors = [' + (__err) + ']; return false; '; + } + } else { + out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; + } + out += ' } '; + } + } + if ($breakOnError) { + out += ' if (errors === '; + if ($top) { + out += '0'; + } else { + out += 'errs_' + ($lvl); + } + out += ') { '; + $closingBraces2 += '}'; + } + } + } + } + } + if ($breakOnError) { + out += ' ' + ($closingBraces2) + ' '; + } + if ($top) { + if ($async) { + out += ' if (errors === 0) return data; '; + out += ' else throw new ValidationError(vErrors); '; + } else { + out += ' validate.errors = vErrors; '; + out += ' return errors === 0; '; + } + out += ' }; return validate;'; + } else { + out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';'; + } + + function $shouldUseGroup($rulesGroup) { + var rules = $rulesGroup.rules; + for (var i = 0; i < rules.length; i++) + if ($shouldUseRule(rules[i])) return true; + } + + function $shouldUseRule($rule) { + return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule)); + } + + function $ruleImplementsSomeKeyword($rule) { + var impl = $rule.implements; + for (var i = 0; i < impl.length; i++) + if (it.schema[impl[i]] !== undefined) return true; + } + return out; +} + + +/***/ }), + +/***/ 72203: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i; +var customRuleCode = __nccwpck_require__(94064); +var definitionSchema = __nccwpck_require__(17881); + +module.exports = { + add: addKeyword, + get: getKeyword, + remove: removeKeyword, + validate: validateKeyword +}; + + +/** + * Define custom keyword + * @this Ajv + * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords). + * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. + * @return {Ajv} this for method chaining + */ +function addKeyword(keyword, definition) { + /* jshint validthis: true */ + /* eslint no-shadow: 0 */ + var RULES = this.RULES; + if (RULES.keywords[keyword]) + throw new Error('Keyword ' + keyword + ' is already defined'); + + if (!IDENTIFIER.test(keyword)) + throw new Error('Keyword ' + keyword + ' is not a valid identifier'); + + if (definition) { + this.validateKeyword(definition, true); + + var dataType = definition.type; + if (Array.isArray(dataType)) { + for (var i=0; i { + +exports.Client = __nccwpck_require__(64366); +exports.Dispatcher = __nccwpck_require__(22660); +exports.auth = __nccwpck_require__(60932); +exports.errors = __nccwpck_require__(3750); +exports.resources = __nccwpck_require__(53531); + +exports.VERSION = __nccwpck_require__(25658).version; + +/***/ }), + +/***/ 45671: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var url = __nccwpck_require__(87016); +var request = __nccwpck_require__(10198); +var Bluebird = __nccwpck_require__(16807); +var OauthError = __nccwpck_require__(87594); + +/** + * @params {Object} params Parameters for the `request` call. + * @return {Promise} Promise representing the request, will resolve to the + * `Object` returned or an `OauthError`. + */ +var doRequest = function(params) { + return new Bluebird(function(resolve, reject) { + request(params, function(err, res, payload) { + if (err) { + return reject(err); + } + if (res.statusCode !== 200) { + return reject(payload); + } + var result = JSON.parse(payload); + if (result.error) { + return reject(new OauthError(result)); + } else { + return resolve(result); + } + }); + }); +}; + +/** + * An abstraction around an App used with Asana. + * + * @options {Object} Options to construct the app + * @option {String} clientId The ID of the app + * @option {String} [clientSecret] The secret key, if available here + * @option {String} [redirectUri] The default redirect URI + * @option {String} [scope] Scope to use, supports `default` and `scim` + * @option {String} [asanaBaseUrl] Base URL to use for Asana, for debugging + * @constructor + */ +function App(options) { + this.clientId = options.clientId; + this.clientSecret = options.clientSecret || null; + this.redirectUri = options.redirectUri || null; + this.scope = options.scope || 'default'; + this.asanaBaseUrl = options.asanaBaseUrl || 'https://app.asana.com/'; + this.tokenExchangeEndpoint = options.tokenExchangeEndpoint || null; +} + + +/** + * @param {Object} options Overrides to the app's defaults + * @option {String} asanaBaseUrl + * @option {String} redirectUri + * @returns {String} The URL used to authorize a user for the app. + */ +App.prototype.asanaAuthorizeUrl = function(options) { + options = options || {}; + return url.resolve( + options.asanaBaseUrl || this.asanaBaseUrl, + url.format({ + pathname: '/-/oauth_authorize', + query: { + 'client_id': this.clientId, + 'response_type': 'code', + 'redirect_uri': options.redirectUri || this.redirectUri, + 'scope': this.scope + } + })); +}; + + +/** + * @param {Object} options Overrides to the app's defaults + * @option {String} asanaBaseUrl + * @option {String} redirectUri + * @returns {String} The URL used to acquire an access token. + */ +App.prototype.asanaTokenUrl = function(options) { + options = options || {}; + return this.tokenExchangeEndpoint || url.resolve( + options.asanaBaseUrl || this.asanaBaseUrl, + '/-/oauth_token'); +}; + +/** + * @param {String} code An authorization code obtained via `asanaAuthorizeUrl`. + * @param {Object} options Overrides to the app's defaults + * @option {String} asanaBaseUrl + * @option {String} redirectUri + * @return {Promise} The token, which will include the `access_token` + * used for API access, as well as a `refresh_token` which can be stored + * to get a new access token without going through the flow again. + */ +App.prototype.accessTokenFromCode = function(code, options) { + options = options || {}; + var params = { + method: 'POST', + url: this.asanaTokenUrl(options), + form: { + 'grant_type': 'authorization_code', + 'client_id': this.clientId, + 'client_secret': this.clientSecret, + 'redirect_uri': options.redirectUri || this.redirectUri, + 'code': code + } + }; + return doRequest(params); +}; + +/** + * @param {String} refreshToken A refresh token obtained via Oauth. + * @param {Object} options Overrides to the app's defaults + * @option {String} asanaBaseUrl + * @option {String} redirectUri + * @return {Promise} The token, which will include the `access_token` + * used for API access. + */ +App.prototype.accessTokenFromRefreshToken = function(refreshToken, options) { + options = options || {}; + var params = { + method: 'POST', + url: this.asanaTokenUrl(options), + form: { + 'grant_type': 'refresh_token', + 'client_id': this.clientId, + 'client_secret': this.clientSecret, + 'redirect_uri': options.redirectUri || this.redirectUri, + 'refresh_token': refreshToken + } + }; + return doRequest(params); +}; + + +module.exports = App; + + +/***/ }), + +/***/ 6891: +/***/ ((module) => { + +/** + * A layer to abstract the differences between using different types of + * authentication (Oauth vs. Basic). The Authenticator is responsible for + * establishing credentials and applying them to outgoing requests. + * @constructor + */ +function Authenticator() { +} + +/** + * @param {Object} request The request to modify, for the `request` library. + * @return {Object} The `request` parameter, modified to include authentication + * information using the stored credentials. + */ +Authenticator.prototype.authenticateRequest = function(request) { + throw new Error('not implemented', request); +}; + +/** + * Establishes credentials. + * + * @return {Promise} Resolves when initial credentials have been + * completed and `authenticateRequest` calls can expect to succeed. + */ +Authenticator.prototype.establishCredentials = function() { + throw new Error('not implemented'); +}; + +/** + * Attempts to refresh credentials, if possible, given the current credentials. + * + * @return {Promise} Resolves to `true` if credentials have been successfully + * established and `authenticateRequests` can expect to succeed, else + * resolves to `false`. + */ +Authenticator.prototype.refreshCredentials = function() { + throw new Error('not implemented'); +}; + + +module.exports = Authenticator; + + +/***/ }), + +/***/ 9399: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/* jshint browser: true */ +var NativeFlow = __nccwpck_require__(90052); +var RedirectFlow = __nccwpck_require__(25573); +var ChromeExtensionFlow = __nccwpck_require__(12093); +var defaultEnvironment = __nccwpck_require__(57662); + +/** + * Auto-detects the type of Oauth flow to use that's appropriate to the + * environment. + * + * @returns {Function|null} The type of Oauth flow to use, or null if no + * appropriate type could be determined. + */ +function autoDetect(env) { + env = env || defaultEnvironment(); + if (typeof(env.chrome) !== 'undefined' && + env.chrome.runtime && env.chrome.runtime.id) { + if (env.chrome.tabs && env.chrome.tabs.create) { + return ChromeExtensionFlow; + } else { + // Chrome packaged app, not supported yet. + return null; + } + } + if (typeof(env.window) !== 'undefined' && env.window.navigator) { + // Browser + return RedirectFlow; + } + if (typeof(env.process) !== 'undefined' && env.process.env) { + // NodeJS script + return NativeFlow; + } + return null; +} + +module.exports = autoDetect; + + +/***/ }), + +/***/ 54891: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/* jshint browser:true */ +var url = __nccwpck_require__(87016); +var oauthUtil = __nccwpck_require__(36962); + +// TODO: options.storage, for an interface to load/save/delete credentials +// e.g. in cookies or in localStorage maybe +// TODO: options.remember, to store in storage (true by default?) +// TODO: testing across browsers +// TODO: standardize logging with option (add logger? 3rd party something?) +// TODO: tests + +/** + * A base class for any flow that runs in the browser. All subclasses use the + * "implicit grant" flow to authenticate via the browser. + * @param {Object} options + * @option {App} app The app this flow is for + * @option {String} [redirectUri] The URL that Asana should redirect to once + * user authorization is complete. Defaults to the URL configured in + * the app, and if none then the current page URL. + * @constructor + */ +function BaseBrowserFlow(options) { + this.options = options; +} + +/** + * @param {String} authUrl The URL the user should be navigated to in order + * to authorize the app. + * @param {String} state The unique state generated for this auth request. + * @return {Promise} Resolved when authorization has successfully started, + * i.e. the user has been navigated to a page requesting authorization. + */ +BaseBrowserFlow.prototype.startAuthorization = function(authUrl, state) { + throw new Error('Not implemented', authUrl, state); +}; + +/** + * @return {Promise} Credentials returned from Oauth. + */ +BaseBrowserFlow.prototype.finishAuthorization = function(state) { + throw new Error('Not implemented', state); +}; + +/** + * @return {String} The URL to redirect to that will receive the + */ +BaseBrowserFlow.prototype.receiverUrl = function() { + var relativeUrl = + this.options.redirectUri || this.options.app.redirectUri || ''; + return url.resolve(window.location.href, relativeUrl); +}; + +/** + * @return {String} The URL to redirect to that will receive the + */ +BaseBrowserFlow.prototype.asanaBaseUrl = function() { + return this.options.app.asanaBaseUrl; +}; + +/** + * @returns {String} Generate a new unique state parameter for a request. + */ +BaseBrowserFlow.prototype.getStateParam = function() { + return oauthUtil.randomState(); +}; + +/** + * @returns {String} The URL used to authorize the user for the app. + */ +BaseBrowserFlow.prototype.authorizeUrl = function() { + // All browser flows should use the implicit grant (`token`) flow. + return url.resolve(this.asanaBaseUrl(), url.format({ + pathname: '/-/oauth_authorize', + query: { + 'client_id': this.options.app.clientId, + 'response_type': 'token', + 'redirect_uri': this.receiverUrl(), + 'scope': this.options.app.scope, + 'state': this.state + } + })); +}; + +/** + * Run the appropriate parts of the Oauth flow, attempting to establish user + * authorization. + * @returns {Promise} A promise that resolves to the Oauth credentials. + */ +BaseBrowserFlow.prototype.run = function() { + var me = this; + me.state = me.getStateParam(me.options); + return me.startAuthorization(me.authorizeUrl(), me.state).then(function() { + return me.finishAuthorization(me.state); + }); +}; + +module.exports = BaseBrowserFlow; + +/***/ }), + +/***/ 51454: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); +var Bluebird = __nccwpck_require__(16807); +var Authenticator = __nccwpck_require__(6891); + +/** + * @param {String} apiKey The key to use to access the API. + * @constructor + */ +function BasicAuthenticator(apiKey) { + this.apiKey = apiKey; +} + +util.inherits(BasicAuthenticator, Authenticator); + +BasicAuthenticator.prototype.authenticateRequest = function(request) { + request.auth = { + username: this.apiKey, + password: '' + }; + return request; +}; + +BasicAuthenticator.prototype.establishCredentials = function() { + // Credentials are already built-in. + return Bluebird.resolve(); +}; + +BasicAuthenticator.prototype.refreshCredentials = function() { + // We have no way of refreshing credentials. + return Bluebird.resolve(false); +}; + +module.exports = BasicAuthenticator; + +/***/ }), + +/***/ 12093: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/* jshint browser: true */ +/* global chrome */ +var util = __nccwpck_require__(39023); +var oauthUtil = __nccwpck_require__(36962); +var BaseBrowserFlow = __nccwpck_require__(54891); +var OauthError = __nccwpck_require__(87594); +var Bluebird = __nccwpck_require__(16807); + +/** + * An Oauth flow that runs in a Chrome browser extension and requests user + * authorization by opening a temporary tab to prompt the user. + * @param {Object} options See `BaseBrowserFlow` for options, plus the below: + * @options {String} [receiverPath] Full path and filename from the base + * directory of the extension to the receiver page. This is an HTML file + * that has been made web-accessible, and that calls the receiver method + * `Asana.auth.ChromeExtensionFlow.runReceiver();`. + * @constructor + */ +function ChromeExtensionFlow(options) { + BaseBrowserFlow.call(this, options); + this._authorizationPromise = null; + this._receiverUrl = chrome.runtime.getURL( + options.receiverPath || 'asana_oauth_receiver.html'); +} + +util.inherits(ChromeExtensionFlow, BaseBrowserFlow); + +ChromeExtensionFlow.prototype.receiverUrl = function() { + return this._receiverUrl; +}; + +ChromeExtensionFlow.prototype.startAuthorization = function(authUrl, state) { + var me = this; + var receiverTabId = null; + me._authorizationPromise = new Bluebird(function(resolve, reject) { + var listener = function(message, sender) { + // The message must come from our receiver window, which would have a URL + // that is our receiver URL, plus a hash with some oauth results in it. + if (!sender || !sender.tab || sender.tab.id !== receiverTabId || + sender.tab.url.substring(0, me._receiverUrl.length) !== + me._receiverUrl) { + return; + } + var receivedUrl = message.receivedUrl; + if (receivedUrl) { + // Every request should have a unique `state` parameter. + // We can key off of that to determine whether this request was + // intended for this window. + var params = oauthUtil.parseOauthResultFromUrl(receivedUrl); + if (params.state === state) { + state = null; // don't ever respond to again + var dummyError; + chrome.tabs.remove(receiverTabId, function() { + // Calling the `lastError` getter will silence a warning we get + // in case the tab has already closed. + dummyError = chrome.runtime.lastError; + }); + chrome.runtime.onMessage.removeListener(listener); + if (params.error) { + reject(new OauthError(params)); + } else { + resolve(params); + } + } + } + }; + chrome.runtime.onMessage.addListener(listener); + chrome.tabs.create({ + url: authUrl, + active: true + }, function(tab) { + receiverTabId = tab.id; + }); + }); + return Bluebird.resolve(); +}; + +ChromeExtensionFlow.prototype.finishAuthorization = function() { + return this._authorizationPromise; +}; + +/** + * Runs the receiver code to send the Oauth result to the requesting tab. + */ +ChromeExtensionFlow.runReceiver = function() { + window.addEventListener('load', function() { + var currentUrl = window.location.href; + oauthUtil.removeOauthResultFromCurrentUrl(); + chrome.runtime.sendMessage({ receivedUrl: currentUrl }); + window.close(); + }, false); +}; + +module.exports = ChromeExtensionFlow; + + +/***/ }), + +/***/ 60932: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +exports.BaseBrowserFlow = __nccwpck_require__(54891); +exports.ChromeExtensionFlow = __nccwpck_require__(12093); +exports.NativeFlow = __nccwpck_require__(90052); +exports.PopupFlow = __nccwpck_require__(45049); +exports.RedirectFlow = __nccwpck_require__(25573); + +exports.autoDetect = __nccwpck_require__(9399); +exports.OauthError = __nccwpck_require__(87594); +exports.App = __nccwpck_require__(45671); + + +/***/ }), + +/***/ 90052: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var readline = __nccwpck_require__(23785); +var Bluebird = __nccwpck_require__(16807); +var oauthUtil = __nccwpck_require__(36962); + +/** + * Default function to return instructions for the user to authorize the app. + * Written to stdout during `run`. + * @param {String} url The authorization URL + * @returns {String} Instructions for the user + */ +function defaultInstructions(url) { + return [ + '* * * * * * * * * * * * * * * * * * * * * * * * * * *', + 'Please open a browser to the url:', + '', + url, + '', + 'and follow the prompts to authorize this application.', + '* * * * * * * * * * * * * * * * * * * * * * * * * * *' + ].join('\n'); +} + +/** + * Default function to return the prompt for the user to enter the + * authorization code. Written to stdout immediately preceding keyboard input + * during `run`. + * @returns {String} A message to prompt the user to enter the code. + */ +function defaultPrompt() { + return 'Enter the code here: '; +} + +/** + * An Oauth flow that can be run from the console or an app that does + * not have the ability to open and manage a browser on its own. + * @param {Object} options + * @option {App} app App to authenticate for + * @option {String function(String)} [instructions] Function returning the + * instructions to output to the user. Passed the authorize url. + * @option {String function()} [prompt] String to output immediately before + * waiting for a line from stdin. + * @constructor + */ +function NativeFlow(options) { + this.app = options.app; + this.instructions = options.instructions || defaultInstructions; + this.prompt = options.prompt || defaultPrompt; + this.redirectUri = oauthUtil.NATIVE_REDIRECT_URI; +} + +/** + * Run the Oauth flow, prompting the user to go to the authorization URL + * and enter the code it displays when finished. + * + * @return {Promise} The access token object, which will include + * `access_token` and `refresh_token`. + */ +NativeFlow.prototype.run = function() { + var me = this; + return me.promptForCode(me.authorizeUrl()).then(function(code) { + return me.accessToken(code); + }); +}; + +/** + * @returns {String} The URL used to authorize the user for the app. + */ +NativeFlow.prototype.authorizeUrl = function() { + return this.app.asanaAuthorizeUrl({ + redirectUri: this.redirectUri + }); +}; + +/** + * @param {String} code An authorization code obtained via `asanaAuthorizeUrl`. + * @return {Promise} The token, which will include the `access_token` + * used for API access, as well as a `refresh_token` which can be stored + * to get a new access token without going through the flow again. + */ +NativeFlow.prototype.accessToken = function(code) { + return this.app.accessTokenFromCode(code, { + redirectUri: this.redirectUri + }); +}; + +/** + * @return {Promise} The access token, which will include a refresh token + * that can be stored in the future to create a client without going + * through the Oauth flow. + */ +NativeFlow.prototype.promptForCode = function(url) { + var me = this; + var rl = readline.createInterface({ + input: process.stdin, + output: process.stdout + }); + return new Bluebird(function(resolve) { + console.log(me.instructions(url)); + rl.question(me.prompt(), function(code) { + rl.close(); + return resolve(code); + }); + }); +}; + +module.exports = NativeFlow; + + +/***/ }), + +/***/ 30255: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); +var Bluebird = __nccwpck_require__(16807); +var Authenticator = __nccwpck_require__(6891); + +/** + * Creates an authenticator that uses Oauth for authentication. + * + * @param {Object} options Configure the authenticator; must specify one + * of `flow` or `credentials`. + * @option {App} app The app being authenticated for. + * @option {OauthFlow} [flow] The flow to use to get credentials + * when needed. + * @option {String|Object} [credentials] Initial credentials to use. This can + * be either the object returned from an access token request (which + * contains the token and some other metadata) or just the `access_token` + * field. + * @constructor + */ +function OauthAuthenticator(options) { + Authenticator.call(this); + if (typeof(options.credentials) === 'string') { + this.credentials = { + 'access_token': options.credentials + }; + } else { + this.credentials = options.credentials || null; + } + this.flow = options.flow || null; + this.app = options.app; + this.refreshCredentialsCallback = options.refreshCredentialsCallback || null; +} + +util.inherits(OauthAuthenticator, Authenticator); + +/** + * @param {Object} request The request to modify, for the `request` library. + * @return {Object} The `request` parameter, modified to include authentication + * information using the stored credentials. + */ +OauthAuthenticator.prototype.authenticateRequest = function(request) { + /* jshint camelcase: false */ + if (this.credentials === null) { + throw new Error( + 'Cannot authenticate a request without first obtaining credentials'); + } + // When browserify-d, the `auth` component of the `request` library + // doesn't work so well, so we just manually set the bearer token instead. + request.headers = request.headers || {}; + request.headers.Authorization = 'Bearer ' + this.credentials.access_token; + return request; +}; + +/** + * Requests new credentials, discarding any that it may already have. + * @return {Promise} Resolves when credentials have been successfully + * established and `authenticateRequests` can expect to succeed. + */ +OauthAuthenticator.prototype.establishCredentials = function() { + /* jshint camelcase: false */ + var me = this; + if (me.flow) { + // Request new credentials + me.credentials = null; + return me.flow.run().then(function(credentials) { + me.credentials = credentials; + }); + } else { + if (me.credentials.access_token) { + // Assume what we have is ok. + return Bluebird.resolve(); + } else if (me.credentials.refresh_token) { + // We were given a refresh token but NOT an access token. Get access. + return me.refreshCredentials(); + } else { + // What kind of credentials did we get anyway? + return Bluebird.reject(new Error('Invalid credentials')); + } + } +}; + +/** + * Attempts to refresh credentials, if possible, given the current credentials. + * @return {Promise} Resolves to `true` if credentials have been successfully + * established and `authenticateRequests` can expect to succeed, else + * resolves to `false`. + */ +OauthAuthenticator.prototype.refreshCredentials = function() { + /* jshint camelcase: false */ + var me = this; + if (me.credentials && me.credentials.refresh_token) { + // We have a refresh token. Use it to get a new access token. + // Only have one outstanding request, any simultaneous requests waiting on + // refresh should gate on this promise. + if (!me.refreshPromise) { + var refreshToken = me.credentials.refresh_token; + me.refreshPromise = me.app.accessTokenFromRefreshToken(refreshToken).then( + function(credentials) { + + // Update credentials, but hang on to refresh token. + if (!credentials.refresh_token) { + credentials.refresh_token = refreshToken; + } + me.credentials = credentials; + me.refreshPromise = null; + + if (me.refreshCredentialsCallback !== null) { + me.refreshCredentialsCallback(me.credentials); + } + + return true; + }); + } + return me.refreshPromise; + } else if (me.flow) { + // Try running the flow again to get credentials. + return this.establishCredentials().then(function(credentials) { + return credentials !== null; + }); + } else { + // We are unable to refresh credentials automatically. + return Bluebird.resolve(false); + } +}; + +module.exports = OauthAuthenticator; + + +/***/ }), + +/***/ 87594: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); + +/** + * @param options {Object} A data blob parsed from a query string or JSON + * response from the Asana API + * @option {String} error The string code identifying the error. + * @option {String} [error_uri] A link to help and information about the error. + * @option {String} [error_description] A description of the error. + * @constructor + */ +function OauthError(options) { + /* jshint camelcase:false */ + Error.call(this); + if (typeof(options) !== 'object' || !options.error) { + throw new Error('Invalid Oauth error: ' + options); + } + this.code = options.error; + this.description = options.error_description || null; + this.uri = options.error_uri || null; +} + +util.inherits(OauthError, Error); + +module.exports = OauthError; + +/***/ }), + +/***/ 36962: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/* jshint browser:true */ +var querystring = __nccwpck_require__(83480); +var url = __nccwpck_require__(87016); + +var NATIVE_REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'; +var NATIVE_AUTO_REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob:auto'; + +/** + * @returns {String} A unique parameter to use as a CSRF token to pass in + * the `state` parameter of an Oauth request. + */ +function randomState() { + return 'asana_' + + Math.random().toString(36) + + Date.now().toString(36); +} + +/** + * Parses a URL and returns any Oauth result that may be encoded therein. + * @param currentUrl {String} Complete URL of a page. + * @returns {Object|null} Oauth fields found in the hash of the URL, or null + * if the URL does not contain a valid hash. + */ +function parseOauthResultFromUrl(currentUrl) { + var oauthUrl = url.parse(currentUrl); + return oauthUrl.hash ? querystring.parse(oauthUrl.hash.substr(1)) : null; +} + +/** + * Clean Oauth results out of the current browser URL, for security and + * cleanliness purposes. + * @returns {Object|null} Oauth fields found in the hash of the URL, or null + * if the URL does not contain a valid hash. + */ +function removeOauthResultFromCurrentUrl() { + if (window.history && window.history.replaceState) { + var url = window.location.href; + var hashIndex = url.indexOf('#'); + window.history.replaceState({}, + document.title, url.substring(0, hashIndex)); + } else { + window.location.hash = ''; + } +} + +module.exports = { + NATIVE_REDIRECT_URI: NATIVE_REDIRECT_URI, + NATIVE_AUTO_REDIRECT_URI: NATIVE_AUTO_REDIRECT_URI, + randomState: randomState, + parseOauthResultFromUrl: parseOauthResultFromUrl, + removeOauthResultFromCurrentUrl: removeOauthResultFromCurrentUrl +}; + +/***/ }), + +/***/ 45049: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/* jshint browser:true */ +var util = __nccwpck_require__(39023); +var oauthUtil = __nccwpck_require__(36962); +var Bluebird = __nccwpck_require__(16807); +var BaseBrowserFlow = __nccwpck_require__(54891); +var OauthError = __nccwpck_require__(87594); + +/** + * An Oauth flow that runs in the browser and requests user authorization by + * popping up a window and prompting the user. + * @param {Object} options See `BaseBrowserFlow` for options. + * @constructor + */ +function PopupFlow(options) { + BaseBrowserFlow.call(this, options); + this._authorizationPromise = null; +} + +util.inherits(PopupFlow, BaseBrowserFlow); + +PopupFlow.prototype.startAuthorization = function(authUrl, state) { + var me = this; + + var popup, popupTimer, listener; + function cleanup() { + if (popup && popupTimer) { + clearInterval(popupTimer); + popupTimer = null; + } + if (listener) { + window.removeEventListener('message', listener, false); + listener = null; + } + } + + me._authorizationPromise = new Bluebird(function(resolve, reject) { + listener = function(event) { + var receivedUrl; + try { + receivedUrl = event.data.receivedUrl; + } catch (e) {} + if (receivedUrl) { + // Every request should have a unique `state` parameter. + // We can key off of that to determine whether this request was + // intended for this window. + var params = oauthUtil.parseOauthResultFromUrl(receivedUrl); + if (params.state === state) { + state = null; // don't ever respond to again + cleanup(); + if (params.error) { + reject(new OauthError(params)); + } else { + resolve(params); + } + } + } + }; + window.addEventListener('message', listener, false); + popup = window.open(authUrl, 'asana_oauth', me._popupParams(800, 600)); + + // Detect popup blocking and fail. + if (!popup) { + cleanup(); + reject(new OauthError({ + 'error': 'access_denied', + 'error_description': 'The popup window containing the ' + + 'authorization UI was blocked by the browser.' + })); + return; + } + + // Detect popup closure (which may not be handled by the content, because + // it may never load) and fail. If the popup posts a message to us, we + // SHOULD get that message before it closes and this interval fires, + // but just in case we wait for two successive intervals. + var seenClosed = false; + popupTimer = setInterval(function() { + if (popup.closed) { + if (seenClosed) { + cleanup(); + reject(new OauthError({ + 'error': 'access_denied', + 'error_description': 'The popup window containing the ' + + 'authorization UI was closed by the user.' + })); + } else { + seenClosed = true; + } + } + }, 500); + }); + return Bluebird.resolve(); +}; + +PopupFlow.prototype.finishAuthorization = function() { + return this._authorizationPromise; +}; + +PopupFlow.prototype._popupParams = function(popupWidth, popupHeight) { + var left = window.screenX || window.screenLeft || 0; + var top = window.screenY || window.screenTop || 0; + var width = window.outerWidth || document.documentElement.clientWidth; + var height = window.outerHeight || document.documentElement.clientHeight; + + var popupLeft = Math.max(left, Math.round(left + (width - popupWidth) / 2)); + var popupTop = Math.max(top, Math.round(top + (height - popupHeight) / 2.5)); + + return util.format( + 'left=%d,top=%d,' + + 'width=%d,height=%d,' + + 'dialog=yes,dependent=yes,scrollbars=yes,location=yes', + popupLeft, popupTop, popupWidth, popupHeight); +}; + +PopupFlow.runReceiver = function() { + window.addEventListener('load', function() { + var currentUrl = window.location.href; + oauthUtil.removeOauthResultFromCurrentUrl(); + var opener = window.opener; + if (window.parent !== window.top) { + opener = opener || window.parent; + } + if (window.opener) { + console.log('Posting message', currentUrl, window.location.origin); + opener.postMessage({ + receivedUrl: currentUrl + }, window.location.origin); + window.close(); + } else { + console.log('No opener found for this window, not sending message'); + } + }, false); +}; + +module.exports = PopupFlow; + +/***/ }), + +/***/ 25573: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/* jshint browser:true */ +var util = __nccwpck_require__(39023); +var oauthUtil = __nccwpck_require__(36962); +var BaseBrowserFlow = __nccwpck_require__(54891); +var OauthError = __nccwpck_require__(87594); +var Bluebird = __nccwpck_require__(16807); + +/** + * An Oauth flow that runs in the browser and requests user authorization by + * redirecting to an authorization page on Asana, and redirecting back with + * the credentials. + * @param {Object} options See `BaseBrowserFlow` for options. + * @constructor + */ +function RedirectFlow(options) { + BaseBrowserFlow.call(this, options); +} + +util.inherits(RedirectFlow, BaseBrowserFlow); + +RedirectFlow.prototype.getStateParam = function() { + // If we're coming off the redirect, then we should use the state passed + // back from the URL. + var oauthResult = oauthUtil.parseOauthResultFromUrl(window.location.href); + if (oauthResult !== null && oauthResult.state) { + return oauthResult.state; + } + return BaseBrowserFlow.prototype.getStateParam.call(this); +}; + +RedirectFlow.prototype.startAuthorization = function(authUrl) { + // If we're coming off the redirect, then move directly to finish auth + var result = oauthUtil.parseOauthResultFromUrl(window.location.href); + if (result !== null) { + return Bluebird.resolve(); + } + window.location.href = authUrl; + return new Bluebird(function() { + // This promise will never resolve - we should leave the page first. + }); +}; + +RedirectFlow.prototype.finishAuthorization = function() { + var currentUrl = window.location.href; + oauthUtil.removeOauthResultFromCurrentUrl(); + var result = oauthUtil.parseOauthResultFromUrl(currentUrl); + if (result.error) { + return Bluebird.reject(new OauthError(result)); + } else { + return Bluebird.resolve(result); + } +}; + +module.exports = RedirectFlow; + + +/***/ }), + +/***/ 64366: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Dispatcher = __nccwpck_require__(22660); +var resources = __nccwpck_require__(53531); +var BasicAuthenticator = __nccwpck_require__(51454); +var OauthAuthenticator = __nccwpck_require__(30255); +var App = __nccwpck_require__(45671); +var autoDetect = __nccwpck_require__(9399); + +/** + * Constructs a Client with instances of all the resources using the dispatcher. + * It also keeps a reference to the dispatcher so that way the end user can have + * access to it. + * @class + * @classdesc A wrapper for the Asana API which is authenticated for one user + * @param {Dispatcher} dispatcher The request dispatcher to use + * @param {Object} options Options to configure the client + * @param {String} [clientId] ID of the client, required for Oauth + * @param {String} [clientSecret] Secret key, for some Oauth flows + * @param {String} [redirectUri] Default redirect URI for this client + * @param {String} [asanaBaseUrl] Base URL for Asana, for debugging + */ +function Client(dispatcher, options) { + options = options || {}; + /** + * The internal dispatcher. This is mostly used by the resources but provided + * for custom requests to the API or API features that have not yet been added + * to the client. + * @type {Dispatcher} + */ + this.dispatcher = dispatcher; + /** + * An instance of the Allocations resource. + * @type {Allocations} + */ + this.allocations = new resources.Allocations(this.dispatcher); + /** + * An instance of the Attachments resource. + * @type {Attachments} + */ + this.attachments = new resources.Attachments(this.dispatcher); + /** + * An instance of the AuditLogAPI resource. + * @type {AuditLogAPI} + */ + this.auditlogapi = new resources.AuditLogAPI(this.dispatcher); + /** + * An instance of the BatchAPI resource. + * @type {BatchAPI} + */ + this.batchapi = new resources.BatchAPI(this.dispatcher); + /** + * An instance of the CustomFieldSettings resource. + * @type {CustomFieldSettings} + */ + this.customfieldsettings = new resources.CustomFieldSettings(this.dispatcher); + /** + * An instance of the CustomFields resource. + * @type {CustomFields} + */ + this.customfields = new resources.CustomFields(this.dispatcher); + /** + * An instance of the Events resource. + * @type {Events} + */ + this.events = new resources.Events(this.dispatcher); + /** + * An instance of the GoalRelationships resource. + * @type {GoalRelationships} + */ + this.goalrelationships = new resources.GoalRelationships(this.dispatcher); + /** + * An instance of the Goals resource. + * @type {Goals} + */ + this.goals = new resources.Goals(this.dispatcher); + /** + * An instance of the Jobs resource. + * @type {Jobs} + */ + this.jobs = new resources.Jobs(this.dispatcher); + /** + * An instance of the Memberships resource. + * @type {Memberships} + */ + this.memberships = new resources.Memberships(this.dispatcher); + /** + * An instance of the OrganizationExports resource. + * @type {OrganizationExports} + */ + this.organizationexports = new resources.OrganizationExports(this.dispatcher); + /** + * An instance of the PortfolioMemberships resource. + * @type {PortfolioMemberships} + */ + this.portfoliomemberships = + new resources.PortfolioMemberships(this.dispatcher); + /** + * An instance of the Portfolios resource. + * @type {Portfolios} + */ + this.portfolios = new resources.Portfolios(this.dispatcher); + /** + * An instance of the ProjectBriefs resource. + * @type {ProjectBriefs} + */ + this.projectbriefs = new resources.ProjectBriefs(this.dispatcher); + /** + * An instance of the ProjectMemberships resource. + * @type {ProjectMemberships} + */ + this.projectmemberships = new resources.ProjectMemberships(this.dispatcher); + /** + * An instance of the ProjectStatuses resource. + * @type {ProjectStatuses} + */ + this.projectstatuses = new resources.ProjectStatuses(this.dispatcher); + /** + * An instance of the ProjectTemplates resource. + * @type {ProjectTemplates} + */ + this.projecttemplates = new resources.ProjectTemplates(this.dispatcher); + /** + * An instance of the Projects resource. + * @type {Projects} + */ + this.projects = new resources.Projects(this.dispatcher); + /** + * An instance of the Sections resource. + * @type {Sections} + */ + this.sections = new resources.Sections(this.dispatcher); + /** + * An instance of the StatusUpdates resource. + * @type {StatusUpdates} + */ + this.statusupdates = new resources.StatusUpdates(this.dispatcher); + /** + * An instance of the Stories resource. + * @type {Stories} + */ + this.stories = new resources.Stories(this.dispatcher); + /** + * An instance of the Tags resource. + * @type {Tags} + */ + this.tags = new resources.Tags(this.dispatcher); + /** + * An instance of the Tasks resource. + * @type {Tasks} + */ + this.tasks = new resources.Tasks(this.dispatcher); + /** + * An instance of the Teams resource. + * @type {Teams} + */ + this.teams = new resources.Teams(this.dispatcher); + /** + * An instance of the TimePeriods resource. + * @type {TimePeriods} + */ + this.timeperiods = new resources.TimePeriods(this.dispatcher); + /** + * An instance of the TimeTrackingEntries resource. + * @type {TimeTrackingEntries} + */ + this.timetrackingentries = new resources.TimeTrackingEntries(this.dispatcher); + /** + * An instance of the Typeahead resource. + * @type {Typeahead} + */ + this.typeahead = new resources.Typeahead(this.dispatcher); + /** + * An instance of the UserTaskLists resource. + * @type {UserTaskLists} + */ + this.usertasklists = new resources.UserTaskLists(this.dispatcher); + /** + * An instance of the Users resource. + * @type {Users} + */ + this.users = new resources.Users(this.dispatcher); + /** + * An instance of the Webhooks resource. + * @type {Webhooks} + */ + this.webhooks = new resources.Webhooks(this.dispatcher); + /** + * An instance of the WorkspaceMemberships resource. + * @type {WorkspaceMemberships} + */ + this.workspacememberships = + new resources.WorkspaceMemberships(this.dispatcher); + /** + * An instance of the Workspaces resource. + * @type {Workspaces} + */ + this.workspaces = new resources.Workspaces(this.dispatcher); + // Store off Oauth info. + this.app = new App(options); +} + +/** + * Ensures the client is authorized to make requests. Kicks off the + * configured Oauth flow, if any. + * + * @returns {Promise} A promise that resolves to this client when + * authorization is complete. + */ +Client.prototype.authorize = function() { + var me = this; + return me.dispatcher.authorize().then(function() { + return me; + }); +}; + +/** + * DEPRECATED: this only exists for backwards compatibility and + * will be removed in a future version of the client library. + * Configure the Client to use a user's PAT and then authenticate + * through HTTP Basic Authentication. + * @param {String} accessToken The Asana PAT of the user + * @return {Client} this + */ +Client.prototype.useBasicAuth = function(accessToken) { + this.dispatcher.setAuthenticator(new BasicAuthenticator(accessToken)); + return this; +}; + +/** + * Configure the client to authenticate using a Personal Access Token. + * @param {String} accessToken The Personal Access Token to use for + * authenticating requests. + * @return {Client} this + */ +Client.prototype.useAccessToken = function(accessToken) { + var authenticator = new OauthAuthenticator({ + credentials: accessToken + }); + + this.dispatcher.setAuthenticator(authenticator); + return this; +}; + +/** + * Configure the client to authenticate via Oauth. Credentials can be + * supplied, or they can be obtained by running an Oauth flow. + * @param {Object} options Options for Oauth. Includes any options for + * the selected flow. + * @option {Function} [flowType] Type of OauthFlow to use to obtain user + * authorization. Defaults to autodetect based on environment. + * @option {Object} [credentials] Credentials to use; no flow required to + * obtain authorization. This object should at a minimum contain an + * `access_token` string field. + * @option {Function} [refreshCredentialsCallback] An optional callback + * function to execute once the authenticator auto refreshes + * access credentials. + * For Example: + * function(credentials){ + * console.log("Your new credentials are:"+credentials) + * } + * @return {Client} this + */ +Client.prototype.useOauth = function(options) { + options = options || {}; + options.app = this.app; + + var FlowType = options.flowType || autoDetect(); + // If there are no credentials, then we can't proceed without a flow. + if (!options.credentials && FlowType === null) { + throw new Error('Could not autodetect Oauth flow type'); + } + var flow = new FlowType(options); + var authenticator = new OauthAuthenticator({ + app: this.app, + credentials: options.credentials, + flow: flow, + refreshCredentialsCallback: options.refreshCredentialsCallback || null + }); + + this.dispatcher.setAuthenticator(authenticator); + return this; +}; + +/** + * Creates a new client. + * @param {Object} options Options for specifying the client, see constructor. + */ +Client.create = function(options) { + options = options || {}; + return new Client( + new Dispatcher(options), + options); +}; + +module.exports = Client; + + +/***/ }), + +/***/ 57662: +/***/ ((module) => { + +/* jshint browser: true */ +/* global chrome */ + +function defaultEnvironment() { + var env = {}; + if (typeof(window) !== 'undefined') { + // Browser + env.window = window; + } + if (typeof(chrome) !== 'undefined') { + // Chrome Extension + env.chrome = chrome; + } + if (typeof(process) !== 'undefined') { + // NodeJS script + env.process = process; + } + return env; +} + +module.exports = defaultEnvironment; + + +/***/ }), + +/***/ 22660: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var errors = __nccwpck_require__(3750); +var Bluebird = __nccwpck_require__(16807); +var request = __nccwpck_require__(10198); +var _ = __nccwpck_require__(39815); +var querystring = __nccwpck_require__(83480); + +var VERSION = (__nccwpck_require__(25658).version); + +var STATUS_MAP = Object.keys(errors).reduce(function(map, key) { + var error = new errors[key](null); + if (error.status) { + map[error.status] = errors[key]; + } + return map; +}, {}); + +// TODO: Provide same set of options for each request as for configuration, +// so the config at construction time is just the "defaults" + +/** + * Creates a dispatcher which will act as a basic wrapper for making HTTP + * requests to the API, and handle authentication. + * @class + * @classdesc A HTTP wrapper for the Asana API + * @param {Object} options for default behavior of the Dispatcher + * @option {Authenticator} [authenticator] Object to use for authentication. + * Can also be set later with `setAuthenticator`. + * @option {String} [retryOnRateLimit] Automatically handle `RateLimitEnforced` + * errors by sleeping and retrying after the waiting period. + * @option {Function} [handleUnauthorized] Automatically handle + * `NoAuthorization` with the callback. If the callback returns `true` + * (or a promise resolving to `true), will retry the request. + * @option {String} [asanaBaseUrl] Base URL for Asana, for debugging + * @option {Number} [requestTimeout] Timeout (in milliseconds) to wait for the + * request to finish. + */ +function Dispatcher(options) { + options = options || {}; + /** + * The object to use to handle authentication. + * @type {Authenticator} + */ + this.authenticator = options.authenticator || null; + /** + * The base URL for Asana + * @type {String} + */ + this.asanaBaseUrl = options.asanaBaseUrl || 'https://app.asana.com/'; + /** + * Whether requests should be automatically retried if rate limited. + * @type {Boolean} + */ + this.retryOnRateLimit = options.retryOnRateLimit || false; + /** + * What headers should be included by default in all requests, if any. + * Can be overridden by individual requests. + * @type {Object} + */ + this.defaultHeaders = options.defaultHeaders || {}; + /** + * Handler for unauthorized requests which may seek reauthorization. + * Default behavior is available if configured with an Oauth authenticator + * that has a refresh token, and will refresh the current access token. + * @type {Function} + */ + this.handleUnauthorized = (options.handleUnauthorized !== undefined) ? + options.handleUnauthorized : Dispatcher.maybeReauthorize; + /** + * Version info gathered from the system, to send with the request. + * @type {Object} + */ + this._cachedVersionInfo = null; + + /** + * The amount of time in milliseconds to wait for a request to finish. + * @type {Number} + */ + this.requestTimeout = options.requestTimeout || null; + + /** + * What proxy should be used by default in all requests, if any. + * Can be overridden by individual requests. + * @type {String} + */ + this.defaultProxy = options.defaultProxy || null; + /** + * Whether the dispatcher logs the AsanaChange header or not. + * @type {boolean} + */ + this.logAsanaChangeWarnings = options.logAsanaChangeWarnings !== false; +} + +/** + * The relative API path for the current version of the Asana API. + * @type {String} + */ +Dispatcher.API_PATH = 'api/1.0'; + +/** + * Default handler for requests that are considered unauthorized. + * Requests that the authenticator try to refresh its credentials if + * possible. + * @return {Promise} True iff refresh was successful, false if not. + */ +Dispatcher.maybeReauthorize = function() { + if (!this.authenticator) { + return false; + } + return this.authenticator.refreshCredentials(); +}; + +/** + * Whether the request library should show debug logs + */ +Dispatcher.prototype.debug = function(flag) { + request.debug = flag; +}; + +/** + * Creates an Asana API Url by concatenating the ROOT_URL with path provided. + * @param {String} path The path + * @return {String} The url + */ +Dispatcher.prototype.url = function(path) { + return this.asanaBaseUrl + Dispatcher.API_PATH + path; +}; + +/** + * Configure the authentication mechanism to use. + * @returns {Dispatcher} this + */ +Dispatcher.prototype.setAuthenticator = function(authenticator) { + this.authenticator = authenticator; + return this; +}; + +/** + * Ensure the dispatcher is authorized to make requests. Call this before + * making any API requests. + * + * @returns {Promise} Resolves when the dispatcher is authorized, rejected if + * there was a problem authorizing. + */ +Dispatcher.prototype.authorize = function() { + if (this.authenticator === null) { + throw new Error('No authenticator configured for dispatcher'); + } + return this.authenticator.establishCredentials(); +}; + +/** + * Logs the Asana-Change header if the request is affected and + * has not Asana-Enabled the flag. + * @param {Object} reqHeaders headers in the request + * @param {Object} resHeaders headers in the response + */ +Dispatcher.prototype.logAsanaChangeHeader = function(reqHeaders, resHeaders) { + var changeHeaderKey = null; + + for (var key in resHeaders) { + if (key.toLowerCase() === 'asana-change') { + changeHeaderKey = key; + } + } + + if (changeHeaderKey !== null) { + var accountedForFlags = []; + + var addFlag = function(flag) { + accountedForFlags.push(flag.trim()); + }; + + // Grab the request's asana-enable flags + for (var reqHeader in reqHeaders) { + if (!reqHeaders.hasOwnProperty(reqHeader)) { + continue; + } + + if (reqHeader.toLowerCase() === 'asana-enable') { + reqHeaders[reqHeader].split(',').forEach(addFlag); + } else if (reqHeader.toLowerCase() === 'asana-disable') { + reqHeaders[reqHeader].split(',').forEach(addFlag); + } + } + + var changes = resHeaders[changeHeaderKey].split(','); + changes.forEach(function(unsplitChange) { + var change = unsplitChange.split(';'); + + var name = null; + var info = null; + var affected = null; + + for (var j = 0; j < change.length; j++) { + var field = change[j].split('='); + + field[0] = field[0].trim(); + if (field[0].trim() === 'name') { + name = field[1].trim(); + } + else if (field[0].trim() === 'info') { + info = field[1].trim(); + } + else if (field[0].trim() === 'affected') { + affected = field[1].trim(); + } + } + + // Only show the error if the flag was not in the request's + // asana-enable header + if (accountedForFlags.indexOf(name) === -1 && affected === 'true') { + var message = 'This request is affected by the "' + name + + '" deprecation. Please visit this url for more info: ' + info + + '\n' + 'Adding "' + name + '" to your "Asana-Enable" or ' + + '"Asana-Disable" header will opt in/out to this deprecation ' + + 'and suppress this warning.'; + + console.error(message); + } + }); + } +}; + +/** + * Dispatches a request to the Asana API. The request parameters are passed to + * the request module. + * @param {Object} params The params for request + * @param {Object} [dispatchOptions] Options for handling request/response + * @return {Promise} The response for the request + */ +Dispatcher.prototype.dispatch = function(params, dispatchOptions) { + var me = this; + // TODO: actually honor these options as overriding defaults + dispatchOptions = dispatchOptions || {}; + + if (this.requestTimeout) { + params.timeout = this.requestTimeout; + } + + if (this.defaultProxy) { + params.proxy = this.defaultProxy; + } + + return new Bluebird(function(resolve, reject) { + function doRequest() { + if (me.authenticator !== null) { + me.authenticator.authenticateRequest(params); + } + params.headers = _.extend( + {}, params.headers, me.defaultHeaders, dispatchOptions.headers || {}); + me._addVersionInfo(params); + request(params, function(err, res, payload) { + if (err) { + return reject(err); + } + + // Handle Asana-Change header logging + if (me.logAsanaChangeWarnings) { + me.logAsanaChangeHeader(params.headers, res.headers); + } + + if (STATUS_MAP[res.statusCode]) { + var error = new STATUS_MAP[res.statusCode](payload, res); + + if (me.retryOnRateLimit && + error instanceof (errors.RateLimitEnforced)) { + // Maybe attempt retry for rate limiting. + // Delay a half-second more in case of rounding error. + // TODO: verify Asana is always being conservative with duration + setTimeout(doRequest, error.retryAfterSeconds * 1000 + 500); + + } else if (me.handleUnauthorized && + error instanceof (errors.NoAuthorization)) { + // Maybe attempt to retry unauthorized requests after getting + // a new access token. + Bluebird.resolve(me.handleUnauthorized()).then(function(reauth) { + if (reauth) { + doRequest(); + } else { + reject(error); + } + }) + .catch(function() { + reject(error); + }); + } else { + // Not an error we can handle. + return reject(error); + } + } else { + return resolve(payload); + } + }); + } + doRequest(); + }); +}; + +/** + * Dispatches a GET request to the Asana API. + * @param {String} path The path of the API + * @param {Object} [query] The query params + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `dispatch`. + * @return {Promise} The response for the request + */ +Dispatcher.prototype.get = function(path, query, dispatchOptions) { + var params = { + method: 'GET', + url: this.url(path), + json: true + }; + var options = this._parseApiOptions(query); + if (options) { + params.qs = options; + } + + if (query) { + params.qs = Object.assign(query, params.qs); + } + return this.dispatch(params, dispatchOptions); +}; + +/** + * Dispatches a POST request to the Asana API. + * @param {String} path The path of the API + * @param {Object} data The data to be sent + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `dispatch`. + * @return {Promise} The response for the request + */ +Dispatcher.prototype.post = function(path, data, dispatchOptions) { + var params = { + method: 'POST', + url: this.url(path), + json: { + data: data + } + }; + var options = this._parseApiOptions(data); + if (options) { + params.qs = options; + } + + return this.dispatch(params, dispatchOptions); +}; + +/** + * Dispatches a PUT request to the Asana API. + * @param {String} path The path of the API + * @param {Object} data The data to be sent + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `dispatch`. + * @return {Promise} The response for the request + */ +Dispatcher.prototype.put = function(path, data, dispatchOptions) { + var params = { + method: 'PUT', + url: this.url(path), + json: { + data: data + } + }; + var options = this._parseApiOptions(data); + if (options) { + params.qs = options; + } + + return this.dispatch(params, dispatchOptions); +}; + +/** + * Dispatches a DELETE request to the Asana API. + * @param {String} path The path of the API + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `dispatch`. + * @return {Promise} The response for the request + */ +Dispatcher.prototype.delete = function(path, dispatchOptions) { + var params = { + method: 'DELETE', + url: this.url(path) + }; + + return this.dispatch(params, dispatchOptions); +}; + +/** + * @param request {Object} Request to add version header to. + * @private + */ +Dispatcher.prototype._addVersionInfo = function(request) { + if (!this._cachedVersionInfo) { + this._cachedVersionInfo = this._generateVersionInfo(); + } + request.headers = request.headers || {}; + request.headers['X-Asana-Client-Lib'] = + querystring.stringify(this._cachedVersionInfo); +}; + +/** + * @return {Object} Dictionary of key-value pairs indicating library version + * @private + */ +Dispatcher.prototype._generateVersionInfo = function() { + if (typeof(navigator) === 'undefined' || typeof(window) === 'undefined') { + return { + 'version': VERSION, + 'language': 'NodeJS', + 'language_version': process.version, + 'os': process.platform + }; + } else { + return { + 'version': VERSION, + 'language': 'BrowserJS' + }; + } +}; + +Dispatcher.prototype._parseApiOptions = function(params) { + if (!params) { + return null; + } + + var optionKeys = ['pretty', 'fields', 'expand']; + var options = {}; + + for (var i = 0; i < optionKeys.length; i++) { + if (params.hasOwnProperty(optionKeys[i])) { + options['opt_' + optionKeys[i]] = params[optionKeys[i]]; + } + } + + return options; +}; + +module.exports = Dispatcher; + + +/***/ }), + +/***/ 75019: +/***/ ((module) => { + +function AsanaError(message) { + this.message = message; + try { + throw new Error(message); + } catch (e) { + this.stack = e.stack; + } +} + +AsanaError.prototype = Object.create(Error.prototype); + +module.exports = AsanaError; + +/***/ }), + +/***/ 84704: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); +var AsanaError = __nccwpck_require__(75019); + +function Forbidden(value) { + AsanaError.call(this, 'Forbidden'); + this.status = 403; + this.value = value; +} + +util.inherits(Forbidden, Error); + +module.exports = Forbidden; + +/***/ }), + +/***/ 3750: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +exports.Forbidden = __nccwpck_require__(84704); +exports.InvalidRequest = __nccwpck_require__(31492); +exports.NoAuthorization = __nccwpck_require__(48104); +exports.NotFound = __nccwpck_require__(73411); +exports.PremiumOnly = __nccwpck_require__(46513); +exports.RateLimitEnforced = __nccwpck_require__(48512); +exports.ServerError = __nccwpck_require__(79951); + + +/***/ }), + +/***/ 31492: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); +var AsanaError = __nccwpck_require__(75019); + +function InvalidRequest(value) { + AsanaError.call(this, 'Invalid Request'); + this.status = 400; + this.value = value; +} + +util.inherits(InvalidRequest, Error); + +module.exports = InvalidRequest; + +/***/ }), + +/***/ 48104: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); +var AsanaError = __nccwpck_require__(75019); + +function NoAuthorization(value) { + AsanaError.call(this, 'No Authorization'); + this.status = 401; + this.value = value; +} + +util.inherits(NoAuthorization, Error); + +module.exports = NoAuthorization; + +/***/ }), + +/***/ 73411: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); +var AsanaError = __nccwpck_require__(75019); + +function NotFound(value) { + AsanaError.call(this, 'Not Found'); + this.status = 404; + this.value = value; +} + +util.inherits(NotFound, Error); + +module.exports = NotFound; + +/***/ }), + +/***/ 46513: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); +var AsanaError = __nccwpck_require__(75019); + +function PremiumOnly(value) { + AsanaError.call(this, 'Payment Required'); + this.status = 402; + this.value = value; +} + +util.inherits(PremiumOnly, Error); + +module.exports = PremiumOnly; + + +/***/ }), + +/***/ 48512: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); +var AsanaError = __nccwpck_require__(75019); + +function RateLimitEnforced(value, res) { + /* jshint camelcase:false */ + AsanaError.call(this, 'Rate Limit Enforced'); + this.status = 429; + this.value = value; + this.retryAfterSeconds = value && parseInt( + value.retry_after || res.headers['retry-after'], + 10 + ); +} + +util.inherits(RateLimitEnforced, Error); + +module.exports = RateLimitEnforced; + +/***/ }), + +/***/ 79951: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var util = __nccwpck_require__(39023); +var AsanaError = __nccwpck_require__(75019); + +function ServerError(value) { + AsanaError.call(this, 'Server Error'); + this.status = 500; + this.value = value; +} + +util.inherits(ServerError, Error); + +module.exports = ServerError; + +/***/ }), + +/***/ 96244: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Allocations = __nccwpck_require__(3281); + +module.exports = Allocations; + + +/***/ }), + +/***/ 65757: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Attachments = __nccwpck_require__(86304); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns the full record for a single attachment. + * @param {String} attachment Globally unique identifier for the attachment. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher + * for the request + * @return {Promise} The requested resource + */ +Attachments.prototype.findById = function( + attachment, + params, + dispatchOptions +) { + var path = util.format('/attachments/%s', attachment); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns the compact records for all attachments on the task. + * @param {String} task Globally unique identifier for the task. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher + * for the request + * @return {Promise} The response from the API + */ +Attachments.prototype.findByTask = function( + task, + params, + dispatchOptions +) { + var path = util.format('/tasks/%s/attachments', task); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + + +/* jshint ignore:end */ +module.exports = Attachments; + + +/***/ }), + +/***/ 88718: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var AuditLogAPI = __nccwpck_require__(87163); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/* jshint ignore:end */ +module.exports = AuditLogAPI; + + +/***/ }), + +/***/ 59108: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var BatchAPI = __nccwpck_require__(41577); + +module.exports = BatchAPI; + + +/***/ }), + +/***/ 87399: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var CustomFieldSettings = __nccwpck_require__(3898); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns a list of all of the custom fields settings on a project. + * @param {String} project The ID of the project for which to list custom field settings + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +CustomFieldSettings.prototype.findByProject = function( + project, + params, + dispatchOptions +) { + var path = util.format('/projects/%s/custom_field_settings', project); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns a list of all of the custom fields settings on a portfolio. + * @param {String} portfolio The ID of the portfolio for which to list custom field settings + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +CustomFieldSettings.prototype.findByPortfolio = function( + portfolio, + params, + dispatchOptions +) { + var path = util.format('/portfolios/%s/custom_field_settings', portfolio); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + + +/* jshint ignore:end */ +module.exports = CustomFieldSettings; + + +/***/ }), + +/***/ 23706: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var CustomFields = __nccwpck_require__(80343); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Creates a new custom field in a workspace. Every custom field is required to be created in a specific workspace, and this workspace cannot be changed once set. + * + * A custom field's `name` must be unique within a workspace and not conflict with names of existing task properties such as 'Due Date' or 'Assignee'. A custom field's `type` must be one of 'text', 'enum', or 'number'. + * + * Returns the full record of the newly created custom field. + * @param {Object} data Data for the request + * @param {String} data.workspace The workspace to create a custom field in. + * @param {String} data.resource_subtype The type of the custom field. Must be one of the given values. + * @param {String} [data.type] **Deprecated: New integrations should prefer the `resource_subtype` parameter.** + * @param {String} data.name The name of the custom field. + * @param {String} [data.description] The description of the custom field. + * @param {Integer} [data.precision] The number of decimal places for the numerical values. Required if the custom field is of type 'number'. + * @param {String} [data.enum_options] The discrete values the custom field can assume. Required if the custom field is of type 'enum'. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +CustomFields.prototype.create = function( + data, + dispatchOptions +) { + var path = util.format('/custom_fields'); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the complete definition of a custom field's metadata. + * @param {String} custom_field Globally unique identifier for the custom field. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFields.prototype.findById = function( + customField, + params, + dispatchOptions +) { + var path = util.format('/custom_fields/%s', customField); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns a list of the compact representation of all of the custom fields in a workspace. + * @param {String} workspace The workspace or organization to find custom field definitions in. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +CustomFields.prototype.findByWorkspace = function( + workspace, + params, + dispatchOptions +) { + var path = util.format('/workspaces/%s/custom_fields', workspace); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * A specific, existing custom field can be updated by making a PUT request on the URL for that custom field. Only the fields provided in the `data` block will be updated; any unspecified fields will remain unchanged + * + * When using this method, it is best to specify only those fields you wish to change, or else you may overwrite changes made by another user since you last retrieved the custom field. + * + * An enum custom field's `enum_options` cannot be updated with this endpoint. Instead see "Work With Enum Options" for information on how to update `enum_options`. + * + * Locked custom fields can only be updated by the user who locked the field. + * + * Returns the complete updated custom field record. + * @param {String} custom_field Globally unique identifier for the custom field. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +CustomFields.prototype.update = function( + customField, + data, + dispatchOptions +) { + var path = util.format('/custom_fields/%s', customField); + + return this.dispatchPut(path, data, dispatchOptions); +}; + +/** + * A specific, existing custom field can be deleted by making a DELETE request on the URL for that custom field. + * + * Locked custom fields can only be deleted by the user who locked the field. + * + * Returns an empty data record. + * @param {String} custom_field Globally unique identifier for the custom field. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +CustomFields.prototype.delete = function( + customField, + dispatchOptions +) { + var path = util.format('/custom_fields/%s', customField); + + return this.dispatchDelete(path, dispatchOptions); +}; + +/** + * Creates an enum option and adds it to this custom field's list of enum options. A custom field can have at most 50 enum options (including disabled options). By default new enum options are inserted at the end of a custom field's list. + * + * Locked custom fields can only have enum options added by the user who locked the field. + * + * Returns the full record of the newly created enum option. + * @param {String} custom_field Globally unique identifier for the custom field. + * @param {Object} data Data for the request + * @param {String} data.name The name of the enum option. + * @param {String} [data.color] The color of the enum option. Defaults to 'none'. + * @param {String} [data.insert_before] An existing enum option within this custom field before which the new enum option should be inserted. Cannot be provided together with after_enum_option. + * @param {String} [data.insert_after] An existing enum option within this custom field after which the new enum option should be inserted. Cannot be provided together with before_enum_option. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +CustomFields.prototype.createEnumOption = function( + customField, + data, + dispatchOptions +) { + var path = util.format('/custom_fields/%s/enum_options', customField); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Updates an existing enum option. Enum custom fields require at least one enabled enum option. + * + * Locked custom fields can only be updated by the user who locked the field. + * + * Returns the full record of the updated enum option. + * @param {String} enum_option Globally unique identifier for the enum option. + * @param {Object} data Data for the request + * @param {String} data.name The name of the enum option. + * @param {String} [data.color] The color of the enum option. Defaults to 'none'. + * @param {Boolean} [data.enabled] Whether or not the enum option is a selectable value for the custom field. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +CustomFields.prototype.updateEnumOption = function( + enumOption, + data, + dispatchOptions +) { + var path = util.format('/enum_options/%s', enumOption); + + return this.dispatchPut(path, data, dispatchOptions); +}; + +/** + * Moves a particular enum option to be either before or after another specified enum option in the custom field. + * + * Locked custom fields can only be reordered by the user who locked the field. + * @param {String} custom_field Globally unique identifier for the custom field. + * @param {Object} data Data for the request + * @param {String} data.enum_option The ID of the enum option to relocate. + * @param {String} data.name The name of the enum option. + * @param {String} [data.color] The color of the enum option. Defaults to 'none'. + * @param {String} [data.before_enum_option] An existing enum option within this custom field before which the new enum option should be inserted. Cannot be provided together with after_enum_option. + * @param {String} [data.after_enum_option] An existing enum option within this custom field after which the new enum option should be inserted. Cannot be provided together with before_enum_option. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +CustomFields.prototype.insertEnumOption = function( + customField, + data, + dispatchOptions +) { + var path = util.format('/custom_fields/%s/enum_options/insert', customField); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * This is for compatibility reasons. Please use createEnumOption. + */ +CustomFields.prototype.addEnumOption = CustomFields.prototype.createEnumOption; + +/** + * This is for compatibility reasons. Please use createEnumOption. + */ +CustomFields.prototype.reorderEnumOption = + CustomFields.prototype.insertEnumOption; + + +/* jshint ignore:end */ +module.exports = CustomFields; + + +/***/ }), + +/***/ 90314: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var EventStream = __nccwpck_require__(44337); +var Events = __nccwpck_require__(62509); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Dispatches a GET request to /events of the API to get a set of recent + * changes to a resource. + * @param {Number} resourceId The id of the resource to get events for + * @param {String} [syncToken] Token from a previous sync, if any + * @param {Object} [params] Parameters for the request + * @return {Promise} The result of the API call: + * {String} sync The new sync token to use for the next request + * {Object[]} [data] The changes on the resource since the last sync, + * may not exist if sync token is new. + */ +Events.prototype.get = function(resourceId, syncToken, params) { + var requestParams = params || {}; + requestParams.resource = resourceId; + if (syncToken) { + requestParams.sync = syncToken; + } + return this.dispatcher.get('/events', requestParams); +}; + +/** + * Begins polling the /events endpoint of the API to listen to changes + * to a resource. + * @param {Number} resourceId The id of the resource to get events for + * @param {Object} [options] Additional options to pass the stream. + * {Number} periodSeconds + * @return {EventStream} An EventEmitter that emits notifications + * about changes. + */ +Events.prototype.stream = function(resourceId, options) { + return new EventStream(this, resourceId, options); +}; + +/* jshint ignore:end */ +Events.EventStream = EventStream; +module.exports = Events; + + +/***/ }), + +/***/ 3281: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Allocations(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Allocations, Resource); + + +/** + * Create an allocation + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Allocations.prototype.createAllocation = function( + data, + dispatchOptions +) { + var path = "/allocations"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete an allocation + * @param {String} allocationGid: (required) Globally unique identifier for the allocation. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Allocations.prototype.deleteAllocation = function( + allocationGid, + data, + dispatchOptions +) { + var path = "/allocations/{allocation_gid}".replace("{allocation_gid}", allocationGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get an allocation + * @param {String} allocationGid: (required) Globally unique identifier for the allocation. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Allocations.prototype.getAllocation = function( + allocationGid, + params, + dispatchOptions +) { + var path = "/allocations/{allocation_gid}".replace("{allocation_gid}", allocationGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple allocations + * @param {Object} params: Parameters for the request + - parent {String}: Globally unique identifier for the project to filter allocations by. + - assignee {String}: Globally unique identifier for the user the allocation is assigned to. + - workspace {String}: Globally unique identifier for the workspace. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Allocations.prototype.getAllocations = function( + params, + dispatchOptions +) { + var path = "/allocations"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Update an allocation + * @param {String} allocationGid: (required) Globally unique identifier for the allocation. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Allocations.prototype.updateAllocation = function( + allocationGid, + data, + dispatchOptions +) { + var path = "/allocations/{allocation_gid}".replace("{allocation_gid}", allocationGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Allocations; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 86304: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Attachments(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Attachments, Resource); + + +/** + * Delete an attachment + * @param {String} attachmentGid: (required) Globally unique identifier for the attachment. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Attachments.prototype.deleteAttachment = function( + attachmentGid, + data, + dispatchOptions +) { + var path = "/attachments/{attachment_gid}".replace("{attachment_gid}", attachmentGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get an attachment + * @param {String} attachmentGid: (required) Globally unique identifier for the attachment. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Attachments.prototype.getAttachment = function( + attachmentGid, + params, + dispatchOptions +) { + var path = "/attachments/{attachment_gid}".replace("{attachment_gid}", attachmentGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get attachments from an object + * @param {Object} params: Parameters for the request + - parent {String}: (required) Globally unique identifier for object to fetch statuses from. Must be a GID for a `project`, `project_brief`, or `task`. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Attachments.prototype.getAttachmentsForObject = function( + params, + dispatchOptions +) { + var path = "/attachments"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = Attachments; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 87163: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function AuditLogAPI(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(AuditLogAPI, Resource); + + +/** + * Get audit log events + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - startAt {Date}: Filter to events created after this time (inclusive). + - endAt {Date}: Filter to events created before this time (exclusive). + - eventType {String}: Filter to events of this type. Refer to the [supported audit log events](/docs/audit-log-events#supported-audit-log-events) for a full list of values. + - actorType {String}: Filter to events with an actor of this type. This only needs to be included if querying for actor types without an ID. If `actor_gid` is included, this should be excluded. + - actorGid {String}: Filter to events triggered by the actor with this ID. + - resourceGid {String}: Filter to events with this resource ID. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +AuditLogAPI.prototype.getAuditLogEvents = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/audit_log_events".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = AuditLogAPI; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 41577: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function BatchAPI(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(BatchAPI, Resource); + + +/** + * Submit parallel requests + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +BatchAPI.prototype.createBatchRequest = function( + data, + dispatchOptions +) { + var path = "/batch"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + +module.exports = BatchAPI; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 3898: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function CustomFieldSettings(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(CustomFieldSettings, Resource); + + +/** + * Get a portfolio's custom fields + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFieldSettings.prototype.getCustomFieldSettingsForPortfolio = function( + portfolioGid, + params, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}/custom_field_settings".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get a project's custom fields + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFieldSettings.prototype.getCustomFieldSettingsForProject = function( + projectGid, + params, + dispatchOptions +) { + var path = "/projects/{project_gid}/custom_field_settings".replace("{project_gid}", projectGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = CustomFieldSettings; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 80343: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function CustomFields(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(CustomFields, Resource); + + +/** + * Create a custom field + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFields.prototype.createCustomField = function( + data, + dispatchOptions +) { + var path = "/custom_fields"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create an enum option + * @param {String} customFieldGid: (required) Globally unique identifier for the custom field. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFields.prototype.createEnumOptionForCustomField = function( + customFieldGid, + data, + dispatchOptions +) { + var path = "/custom_fields/{custom_field_gid}/enum_options".replace("{custom_field_gid}", customFieldGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a custom field + * @param {String} customFieldGid: (required) Globally unique identifier for the custom field. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFields.prototype.deleteCustomField = function( + customFieldGid, + data, + dispatchOptions +) { + var path = "/custom_fields/{custom_field_gid}".replace("{custom_field_gid}", customFieldGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a custom field + * @param {String} customFieldGid: (required) Globally unique identifier for the custom field. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFields.prototype.getCustomField = function( + customFieldGid, + params, + dispatchOptions +) { + var path = "/custom_fields/{custom_field_gid}".replace("{custom_field_gid}", customFieldGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get a workspace's custom fields + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFields.prototype.getCustomFieldsForWorkspace = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/custom_fields".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Reorder a custom field's enum + * @param {String} customFieldGid: (required) Globally unique identifier for the custom field. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFields.prototype.insertEnumOptionForCustomField = function( + customFieldGid, + data, + dispatchOptions +) { + var path = "/custom_fields/{custom_field_gid}/enum_options/insert".replace("{custom_field_gid}", customFieldGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Update a custom field + * @param {String} customFieldGid: (required) Globally unique identifier for the custom field. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFields.prototype.updateCustomField = function( + customFieldGid, + data, + dispatchOptions +) { + var path = "/custom_fields/{custom_field_gid}".replace("{custom_field_gid}", customFieldGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + + +/** + * Update an enum option + * @param {String} enumOptionGid: (required) Globally unique identifier for the enum option. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +CustomFields.prototype.updateEnumOption = function( + enumOptionGid, + data, + dispatchOptions +) { + var path = "/enum_options/{enum_option_gid}".replace("{enum_option_gid}", enumOptionGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = CustomFields; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 62509: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Events(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Events, Resource); + + +/** + * Get events on a resource + * @param {Object} params: Parameters for the request + - resource {String}: (required) A resource ID to subscribe to. The resource can be a task, project, or goal. + - sync {String}: A sync token received from the last request, or none on first sync. Events will be returned from the point in time that the sync token was generated. *Note: On your first request, omit the sync token. The response will be the same as for an expired sync token, and will include a new valid sync token.If the sync token is too old (which may happen from time to time) the API will return a `412 Precondition Failed` error, and include a fresh sync token in the response.* + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Events.prototype.getEvents = function( + params, + dispatchOptions +) { + var path = "/events"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = Events; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 69503: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function GoalRelationships(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(GoalRelationships, Resource); + + +/** + * Add a supporting goal relationship + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +GoalRelationships.prototype.addSupportingRelationship = function( + goalGid, + data, + dispatchOptions +) { + var path = "/goals/{goal_gid}/addSupportingRelationship".replace("{goal_gid}", goalGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Get a goal relationship + * @param {String} goalRelationshipGid: (required) Globally unique identifier for the goal relationship. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +GoalRelationships.prototype.getGoalRelationship = function( + goalRelationshipGid, + params, + dispatchOptions +) { + var path = "/goal_relationships/{goal_relationship_gid}".replace("{goal_relationship_gid}", goalRelationshipGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get goal relationships + * @param {Object} params: Parameters for the request + - supportedGoal {String}: (required) Globally unique identifier for the supported goal in the goal relationship. + - resourceSubtype {String}: If provided, filter to goal relationships with a given resource_subtype. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +GoalRelationships.prototype.getGoalRelationships = function( + params, + dispatchOptions +) { + var path = "/goal_relationships"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Removes a supporting goal relationship + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +GoalRelationships.prototype.removeSupportingRelationship = function( + goalGid, + data, + dispatchOptions +) { + var path = "/goals/{goal_gid}/removeSupportingRelationship".replace("{goal_gid}", goalGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Update a goal relationship + * @param {String} goalRelationshipGid: (required) Globally unique identifier for the goal relationship. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +GoalRelationships.prototype.updateGoalRelationship = function( + goalRelationshipGid, + data, + dispatchOptions +) { + var path = "/goal_relationships/{goal_relationship_gid}".replace("{goal_relationship_gid}", goalRelationshipGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = GoalRelationships; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 18698: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Goals(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Goals, Resource); + + +/** + * Add a collaborator to a goal + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.addFollowers = function( + goalGid, + data, + dispatchOptions +) { + var path = "/goals/{goal_gid}/addFollowers".replace("{goal_gid}", goalGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a goal + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.createGoal = function( + data, + dispatchOptions +) { + var path = "/goals"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a goal metric + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.createGoalMetric = function( + goalGid, + data, + dispatchOptions +) { + var path = "/goals/{goal_gid}/setMetric".replace("{goal_gid}", goalGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a goal + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.deleteGoal = function( + goalGid, + data, + dispatchOptions +) { + var path = "/goals/{goal_gid}".replace("{goal_gid}", goalGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a goal + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.getGoal = function( + goalGid, + params, + dispatchOptions +) { + var path = "/goals/{goal_gid}".replace("{goal_gid}", goalGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get goals + * @param {Object} params: Parameters for the request + - portfolio {String}: Globally unique identifier for supporting portfolio. + - project {String}: Globally unique identifier for supporting project. + - task {String}: Globally unique identifier for supporting task. + - isWorkspaceLevel {Boolean}: Filter to goals with is_workspace_level set to query value. Must be used with the workspace parameter. + - team {String}: Globally unique identifier for the team. + - workspace {String}: Globally unique identifier for the workspace. + - timePeriods {[String]}: Globally unique identifiers for the time periods. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.getGoals = function( + params, + dispatchOptions +) { + var path = "/goals"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get parent goals from a goal + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.getParentGoalsForGoal = function( + goalGid, + params, + dispatchOptions +) { + var path = "/goals/{goal_gid}/parentGoals".replace("{goal_gid}", goalGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Remove a collaborator from a goal + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.removeFollowers = function( + goalGid, + data, + dispatchOptions +) { + var path = "/goals/{goal_gid}/removeFollowers".replace("{goal_gid}", goalGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Update a goal + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.updateGoal = function( + goalGid, + data, + dispatchOptions +) { + var path = "/goals/{goal_gid}".replace("{goal_gid}", goalGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + + +/** + * Update a goal metric + * @param {String} goalGid: (required) Globally unique identifier for the goal. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Goals.prototype.updateGoalMetric = function( + goalGid, + data, + dispatchOptions +) { + var path = "/goals/{goal_gid}/setMetricCurrentValue".replace("{goal_gid}", goalGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + +module.exports = Goals; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 79148: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Jobs(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Jobs, Resource); + + +/** + * Get a job by id + * @param {String} jobGid: (required) Globally unique identifier for the job. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Jobs.prototype.getJob = function( + jobGid, + params, + dispatchOptions +) { + var path = "/jobs/{job_gid}".replace("{job_gid}", jobGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + +module.exports = Jobs; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 17731: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Memberships(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Memberships, Resource); + + +/** + * Create a membership + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Memberships.prototype.createMembership = function( + data, + dispatchOptions +) { + var path = "/memberships"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a membership + * @param {String} membershipGid: (required) Globally unique identifier for the membership. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Memberships.prototype.deleteMembership = function( + membershipGid, + data, + dispatchOptions +) { + var path = "/memberships/{membership_gid}".replace("{membership_gid}", membershipGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a membership + * @param {String} membershipGid: (required) Globally unique identifier for the membership. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Memberships.prototype.getMembership = function( + membershipGid, + params, + dispatchOptions +) { + var path = "/memberships/{membership_gid}".replace("{membership_gid}", membershipGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple memberships + * @param {Object} params: Parameters for the request + - parent {String}: Globally unique identifier for `goal` or `project`. + - member {String}: Globally unique identifier for `team` or `user`. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Memberships.prototype.getMemberships = function( + params, + dispatchOptions +) { + var path = "/memberships"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Update a membership + * @param {String} membershipGid: (required) Globally unique identifier for the membership. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Memberships.prototype.updateMembership = function( + membershipGid, + data, + dispatchOptions +) { + var path = "/memberships/{membership_gid}".replace("{membership_gid}", membershipGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Memberships; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 42335: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function OrganizationExports(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(OrganizationExports, Resource); + + +/** + * Create an organization export request + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +OrganizationExports.prototype.createOrganizationExport = function( + data, + dispatchOptions +) { + var path = "/organization_exports"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Get details on an org export request + * @param {String} organizationExportGid: (required) Globally unique identifier for the organization export. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +OrganizationExports.prototype.getOrganizationExport = function( + organizationExportGid, + params, + dispatchOptions +) { + var path = "/organization_exports/{organization_export_gid}".replace("{organization_export_gid}", organizationExportGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + +module.exports = OrganizationExports; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 12472: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function PortfolioMemberships(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(PortfolioMemberships, Resource); + + +/** + * Get a portfolio membership + * @param {String} portfolioMembershipGid: (required) + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +PortfolioMemberships.prototype.getPortfolioMembership = function( + portfolioMembershipGid, + params, + dispatchOptions +) { + var path = "/portfolio_memberships/{portfolio_membership_gid}".replace("{portfolio_membership_gid}", portfolioMembershipGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple portfolio memberships + * @param {Object} params: Parameters for the request + - portfolio {String}: The portfolio to filter results on. + - workspace {String}: The workspace to filter results on. + - user {String}: A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +PortfolioMemberships.prototype.getPortfolioMemberships = function( + params, + dispatchOptions +) { + var path = "/portfolio_memberships"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get memberships from a portfolio + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} params: Parameters for the request + - user {String}: A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +PortfolioMemberships.prototype.getPortfolioMembershipsForPortfolio = function( + portfolioGid, + params, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}/portfolio_memberships".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = PortfolioMemberships; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 45189: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Portfolios(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Portfolios, Resource); + + +/** + * Add a custom field to a portfolio + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.addCustomFieldSettingForPortfolio = function( + portfolioGid, + data, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}/addCustomFieldSetting".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Add a portfolio item + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.addItemForPortfolio = function( + portfolioGid, + data, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}/addItem".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Add users to a portfolio + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.addMembersForPortfolio = function( + portfolioGid, + data, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}/addMembers".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a portfolio + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.createPortfolio = function( + data, + dispatchOptions +) { + var path = "/portfolios"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a portfolio + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.deletePortfolio = function( + portfolioGid, + data, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get portfolio items + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.getItemsForPortfolio = function( + portfolioGid, + params, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}/items".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get a portfolio + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.getPortfolio = function( + portfolioGid, + params, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple portfolios + * @param {Object} params: Parameters for the request + - workspace {String}: (required) The workspace or organization to filter portfolios on. + - owner {String}: The user who owns the portfolio. Currently, API users can only get a list of portfolios that they themselves own, unless the request is made from a Service Account. In the case of a Service Account, if this parameter is specified, then all portfolios owned by this parameter are returned. Otherwise, all portfolios across the workspace are returned. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.getPortfolios = function( + params, + dispatchOptions +) { + var path = "/portfolios"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Remove a custom field from a portfolio + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.removeCustomFieldSettingForPortfolio = function( + portfolioGid, + data, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}/removeCustomFieldSetting".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Remove a portfolio item + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.removeItemForPortfolio = function( + portfolioGid, + data, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}/removeItem".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Remove users from a portfolio + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.removeMembersForPortfolio = function( + portfolioGid, + data, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}/removeMembers".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Update a portfolio + * @param {String} portfolioGid: (required) Globally unique identifier for the portfolio. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.updatePortfolio = function( + portfolioGid, + data, + dispatchOptions +) { + var path = "/portfolios/{portfolio_gid}".replace("{portfolio_gid}", portfolioGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Portfolios; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 21887: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function ProjectBriefs(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(ProjectBriefs, Resource); + + +/** + * Create a project brief + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectBriefs.prototype.createProjectBrief = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/project_briefs".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a project brief + * @param {String} projectBriefGid: (required) Globally unique identifier for the project brief. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectBriefs.prototype.deleteProjectBrief = function( + projectBriefGid, + data, + dispatchOptions +) { + var path = "/project_briefs/{project_brief_gid}".replace("{project_brief_gid}", projectBriefGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a project brief + * @param {String} projectBriefGid: (required) Globally unique identifier for the project brief. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectBriefs.prototype.getProjectBrief = function( + projectBriefGid, + params, + dispatchOptions +) { + var path = "/project_briefs/{project_brief_gid}".replace("{project_brief_gid}", projectBriefGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Update a project brief + * @param {String} projectBriefGid: (required) Globally unique identifier for the project brief. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectBriefs.prototype.updateProjectBrief = function( + projectBriefGid, + data, + dispatchOptions +) { + var path = "/project_briefs/{project_brief_gid}".replace("{project_brief_gid}", projectBriefGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = ProjectBriefs; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 43709: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function ProjectMemberships(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(ProjectMemberships, Resource); + + +/** + * Get a project membership + * @param {String} projectMembershipGid: (required) + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectMemberships.prototype.getProjectMembership = function( + projectMembershipGid, + params, + dispatchOptions +) { + var path = "/project_memberships/{project_membership_gid}".replace("{project_membership_gid}", projectMembershipGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get memberships from a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} params: Parameters for the request + - user {String}: A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectMemberships.prototype.getProjectMembershipsForProject = function( + projectGid, + params, + dispatchOptions +) { + var path = "/projects/{project_gid}/project_memberships".replace("{project_gid}", projectGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = ProjectMemberships; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 72472: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function ProjectStatuses(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(ProjectStatuses, Resource); + + +/** + * Create a project status + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectStatuses.prototype.createProjectStatusForProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/project_statuses".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a project status + * @param {String} projectStatusGid: (required) The project status update to get. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectStatuses.prototype.deleteProjectStatus = function( + projectStatusGid, + data, + dispatchOptions +) { + var path = "/project_statuses/{project_status_gid}".replace("{project_status_gid}", projectStatusGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a project status + * @param {String} projectStatusGid: (required) The project status update to get. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectStatuses.prototype.getProjectStatus = function( + projectStatusGid, + params, + dispatchOptions +) { + var path = "/project_statuses/{project_status_gid}".replace("{project_status_gid}", projectStatusGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get statuses from a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectStatuses.prototype.getProjectStatusesForProject = function( + projectGid, + params, + dispatchOptions +) { + var path = "/projects/{project_gid}/project_statuses".replace("{project_gid}", projectGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = ProjectStatuses; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 59755: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function ProjectTemplates(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(ProjectTemplates, Resource); + + +/** + * Delete a project template + * @param {String} projectTemplateGid: (required) Globally unique identifier for the project template. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectTemplates.prototype.deleteProjectTemplate = function( + projectTemplateGid, + data, + dispatchOptions +) { + var path = "/project_templates/{project_template_gid}".replace("{project_template_gid}", projectTemplateGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a project template + * @param {String} projectTemplateGid: (required) Globally unique identifier for the project template. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectTemplates.prototype.getProjectTemplate = function( + projectTemplateGid, + params, + dispatchOptions +) { + var path = "/project_templates/{project_template_gid}".replace("{project_template_gid}", projectTemplateGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple project templates + * @param {Object} params: Parameters for the request + - workspace {String}: The workspace to filter results on. + - team {String}: The team to filter projects on. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectTemplates.prototype.getProjectTemplates = function( + params, + dispatchOptions +) { + var path = "/project_templates"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get a team's project templates + * @param {String} teamGid: (required) Globally unique identifier for the team. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectTemplates.prototype.getProjectTemplatesForTeam = function( + teamGid, + params, + dispatchOptions +) { + var path = "/teams/{team_gid}/project_templates".replace("{team_gid}", teamGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Instantiate a project from a project template + * @param {String} projectTemplateGid: (required) Globally unique identifier for the project template. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectTemplates.prototype.instantiateProject = function( + projectTemplateGid, + data, + dispatchOptions +) { + var path = "/project_templates/{project_template_gid}/instantiateProject".replace("{project_template_gid}", projectTemplateGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + +module.exports = ProjectTemplates; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 49694: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Projects(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Projects, Resource); + + +/** + * Add a custom field to a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.addCustomFieldSettingForProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/addCustomFieldSetting".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Add followers to a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.addFollowersForProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/addFollowers".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Add users to a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.addMembersForProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/addMembers".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a project + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.createProject = function( + data, + dispatchOptions +) { + var path = "/projects"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a project in a team + * @param {String} teamGid: (required) Globally unique identifier for the team. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.createProjectForTeam = function( + teamGid, + data, + dispatchOptions +) { + var path = "/teams/{team_gid}/projects".replace("{team_gid}", teamGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a project in a workspace + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.createProjectForWorkspace = function( + workspaceGid, + data, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/projects".replace("{workspace_gid}", workspaceGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.deleteProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}".replace("{project_gid}", projectGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Duplicate a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.duplicateProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/duplicate".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Get a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.getProject = function( + projectGid, + params, + dispatchOptions +) { + var path = "/projects/{project_gid}".replace("{project_gid}", projectGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple projects + * @param {Object} params: Parameters for the request + - workspace {String}: The workspace or organization to filter projects on. + - team {String}: The team to filter projects on. + - archived {Boolean}: Only return projects whose `archived` field takes on the value of this parameter. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.getProjects = function( + params, + dispatchOptions +) { + var path = "/projects"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get projects a task is in + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.getProjectsForTask = function( + taskGid, + params, + dispatchOptions +) { + var path = "/tasks/{task_gid}/projects".replace("{task_gid}", taskGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get a team's projects + * @param {String} teamGid: (required) Globally unique identifier for the team. + * @param {Object} params: Parameters for the request + - archived {Boolean}: Only return projects whose `archived` field takes on the value of this parameter. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.getProjectsForTeam = function( + teamGid, + params, + dispatchOptions +) { + var path = "/teams/{team_gid}/projects".replace("{team_gid}", teamGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get all projects in a workspace + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - archived {Boolean}: Only return projects whose `archived` field takes on the value of this parameter. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.getProjectsForWorkspace = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/projects".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get task count of a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.getTaskCountsForProject = function( + projectGid, + params, + dispatchOptions +) { + var path = "/projects/{project_gid}/task_counts".replace("{project_gid}", projectGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Create a project template from a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.projectSaveAsTemplate = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/saveAsTemplate".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Remove a custom field from a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.removeCustomFieldSettingForProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/removeCustomFieldSetting".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Remove followers from a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.removeFollowersForProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/removeFollowers".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Remove users from a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.removeMembersForProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/removeMembers".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Update a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.updateProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}".replace("{project_gid}", projectGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Projects; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 69176: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Sections(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Sections, Resource); + + +/** + * Add task to section + * @param {String} sectionGid: (required) The globally unique identifier for the section. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Sections.prototype.addTaskForSection = function( + sectionGid, + data, + dispatchOptions +) { + var path = "/sections/{section_gid}/addTask".replace("{section_gid}", sectionGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a section in a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Sections.prototype.createSectionForProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/sections".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a section + * @param {String} sectionGid: (required) The globally unique identifier for the section. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Sections.prototype.deleteSection = function( + sectionGid, + data, + dispatchOptions +) { + var path = "/sections/{section_gid}".replace("{section_gid}", sectionGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a section + * @param {String} sectionGid: (required) The globally unique identifier for the section. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Sections.prototype.getSection = function( + sectionGid, + params, + dispatchOptions +) { + var path = "/sections/{section_gid}".replace("{section_gid}", sectionGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get sections in a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Sections.prototype.getSectionsForProject = function( + projectGid, + params, + dispatchOptions +) { + var path = "/projects/{project_gid}/sections".replace("{project_gid}", projectGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Move or Insert sections + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Sections.prototype.insertSectionForProject = function( + projectGid, + data, + dispatchOptions +) { + var path = "/projects/{project_gid}/sections/insert".replace("{project_gid}", projectGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Update a section + * @param {String} sectionGid: (required) The globally unique identifier for the section. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Sections.prototype.updateSection = function( + sectionGid, + data, + dispatchOptions +) { + var path = "/sections/{section_gid}".replace("{section_gid}", sectionGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Sections; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 93471: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function StatusUpdates(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(StatusUpdates, Resource); + + +/** + * Create a status update + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +StatusUpdates.prototype.createStatusForObject = function( + data, + dispatchOptions +) { + var path = "/status_updates"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a status update + * @param {String} statusUpdateGid: (required) The status update to get. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +StatusUpdates.prototype.deleteStatus = function( + statusUpdateGid, + data, + dispatchOptions +) { + var path = "/status_updates/{status_update_gid}".replace("{status_update_gid}", statusUpdateGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a status update + * @param {String} statusUpdateGid: (required) The status update to get. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +StatusUpdates.prototype.getStatus = function( + statusUpdateGid, + params, + dispatchOptions +) { + var path = "/status_updates/{status_update_gid}".replace("{status_update_gid}", statusUpdateGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get status updates from an object + * @param {Object} params: Parameters for the request + - parent {String}: (required) Globally unique identifier for object to fetch statuses from. Must be a GID for a project, portfolio, or goal. + - createdSince {Date}: Only return statuses that have been created since the given time. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +StatusUpdates.prototype.getStatusesForObject = function( + params, + dispatchOptions +) { + var path = "/status_updates"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = StatusUpdates; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 31151: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Stories(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Stories, Resource); + + +/** + * Create a story on a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Stories.prototype.createStoryForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/stories".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a story + * @param {String} storyGid: (required) Globally unique identifier for the story. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Stories.prototype.deleteStory = function( + storyGid, + data, + dispatchOptions +) { + var path = "/stories/{story_gid}".replace("{story_gid}", storyGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get stories from a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Stories.prototype.getStoriesForTask = function( + taskGid, + params, + dispatchOptions +) { + var path = "/tasks/{task_gid}/stories".replace("{task_gid}", taskGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get a story + * @param {String} storyGid: (required) Globally unique identifier for the story. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Stories.prototype.getStory = function( + storyGid, + params, + dispatchOptions +) { + var path = "/stories/{story_gid}".replace("{story_gid}", storyGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Update a story + * @param {String} storyGid: (required) Globally unique identifier for the story. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Stories.prototype.updateStory = function( + storyGid, + data, + dispatchOptions +) { + var path = "/stories/{story_gid}".replace("{story_gid}", storyGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Stories; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 17661: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Tags(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Tags, Resource); + + +/** + * Create a tag + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tags.prototype.createTag = function( + data, + dispatchOptions +) { + var path = "/tags"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a tag in a workspace + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tags.prototype.createTagForWorkspace = function( + workspaceGid, + data, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/tags".replace("{workspace_gid}", workspaceGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a tag + * @param {String} tagGid: (required) Globally unique identifier for the tag. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tags.prototype.deleteTag = function( + tagGid, + data, + dispatchOptions +) { + var path = "/tags/{tag_gid}".replace("{tag_gid}", tagGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a tag + * @param {String} tagGid: (required) Globally unique identifier for the tag. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tags.prototype.getTag = function( + tagGid, + params, + dispatchOptions +) { + var path = "/tags/{tag_gid}".replace("{tag_gid}", tagGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple tags + * @param {Object} params: Parameters for the request + - workspace {String}: The workspace to filter tags on. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tags.prototype.getTags = function( + params, + dispatchOptions +) { + var path = "/tags"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get a task's tags + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tags.prototype.getTagsForTask = function( + taskGid, + params, + dispatchOptions +) { + var path = "/tasks/{task_gid}/tags".replace("{task_gid}", taskGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get tags in a workspace + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tags.prototype.getTagsForWorkspace = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/tags".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Update a tag + * @param {String} tagGid: (required) Globally unique identifier for the tag. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tags.prototype.updateTag = function( + tagGid, + data, + dispatchOptions +) { + var path = "/tags/{tag_gid}".replace("{tag_gid}", tagGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Tags; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 53665: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function TaskTemplates(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(TaskTemplates, Resource); + + +/** + * Delete a task template + * @param {String} taskTemplateGid: (required) Globally unique identifier for the task template. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TaskTemplates.prototype.deleteTaskTemplate = function( + taskTemplateGid, + data, + dispatchOptions +) { + var path = "/task_templates/{task_template_gid}".replace("{task_template_gid}", taskTemplateGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a task template + * @param {String} taskTemplateGid: (required) Globally unique identifier for the task template. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TaskTemplates.prototype.getTaskTemplate = function( + taskTemplateGid, + params, + dispatchOptions +) { + var path = "/task_templates/{task_template_gid}".replace("{task_template_gid}", taskTemplateGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple task templates + * @param {Object} params: Parameters for the request + - project {String}: The project to filter task templates on. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TaskTemplates.prototype.getTaskTemplates = function( + params, + dispatchOptions +) { + var path = "/task_templates"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Instantiate a task from a task template + * @param {String} taskTemplateGid: (required) Globally unique identifier for the task template. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TaskTemplates.prototype.instantiateTask = function( + taskTemplateGid, + data, + dispatchOptions +) { + var path = "/task_templates/{task_template_gid}/instantiateTask".replace("{task_template_gid}", taskTemplateGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + +module.exports = TaskTemplates; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 96948: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Tasks(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Tasks, Resource); + + +/** + * Set dependencies for a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.addDependenciesForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/addDependencies".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Set dependents for a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.addDependentsForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/addDependents".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Add followers to a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.addFollowersForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/addFollowers".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Add a project to a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.addProjectForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/addProject".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Add a tag to a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.addTagForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/addTag".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a subtask + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.createSubtaskForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/subtasks".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a task + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.createTask = function( + data, + dispatchOptions +) { + var path = "/tasks"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.deleteTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}".replace("{task_gid}", taskGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Duplicate a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.duplicateTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/duplicate".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Get dependencies from a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getDependenciesForTask = function( + taskGid, + params, + dispatchOptions +) { + var path = "/tasks/{task_gid}/dependencies".replace("{task_gid}", taskGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get dependents from a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getDependentsForTask = function( + taskGid, + params, + dispatchOptions +) { + var path = "/tasks/{task_gid}/dependents".replace("{task_gid}", taskGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get subtasks from a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getSubtasksForTask = function( + taskGid, + params, + dispatchOptions +) { + var path = "/tasks/{task_gid}/subtasks".replace("{task_gid}", taskGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getTask = function( + taskGid, + params, + dispatchOptions +) { + var path = "/tasks/{task_gid}".replace("{task_gid}", taskGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get a task for a given custom ID + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {String} customId: (required) Generated custom ID for a task. + * @param {Object} params: Parameters for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getTaskForCustomID = function( + workspaceGid, + customId, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/tasks/custom_id/{custom_id}".replace("{workspace_gid}", workspaceGid).replace("{custom_id}", customId); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple tasks + * @param {Object} params: Parameters for the request + - assignee {String}: The assignee to filter tasks on. If searching for unassigned tasks, assignee.any = null can be specified. *Note: If you specify `assignee`, you must also specify the `workspace` to filter on.* + - project {String}: The project to filter tasks on. + - section {String}: The section to filter tasks on. + - workspace {String}: The workspace to filter tasks on. *Note: If you specify `workspace`, you must also specify the `assignee` to filter on.* + - completedSince {Date}: Only return tasks that are either incomplete or that have been completed since this time. + - modifiedSince {Date}: Only return tasks that have been modified since the given time. *Note: A task is considered “modified†if any of its properties change, or associations between it and other objects are modified (e.g. a task being added to a project). A task is not considered modified just because another object it is associated with (e.g. a subtask) is modified. Actions that count as modifying the task include assigning, renaming, completing, and adding stories.* + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getTasks = function( + params, + dispatchOptions +) { + var path = "/tasks"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get tasks from a project + * @param {String} projectGid: (required) Globally unique identifier for the project. + * @param {Object} params: Parameters for the request + - completedSince {String}: Only return tasks that are either incomplete or that have been completed since this time. Accepts a date-time string or the keyword *now*. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getTasksForProject = function( + projectGid, + params, + dispatchOptions +) { + var path = "/projects/{project_gid}/tasks".replace("{project_gid}", projectGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get tasks from a section + * @param {String} sectionGid: (required) The globally unique identifier for the section. + * @param {Object} params: Parameters for the request + - completedSince {String}: Only return tasks that are either incomplete or that have been completed since this time. Accepts a date-time string or the keyword *now*. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getTasksForSection = function( + sectionGid, + params, + dispatchOptions +) { + var path = "/sections/{section_gid}/tasks".replace("{section_gid}", sectionGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get tasks from a tag + * @param {String} tagGid: (required) Globally unique identifier for the tag. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getTasksForTag = function( + tagGid, + params, + dispatchOptions +) { + var path = "/tags/{tag_gid}/tasks".replace("{tag_gid}", tagGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get tasks from a user task list + * @param {String} userTaskListGid: (required) Globally unique identifier for the user task list. + * @param {Object} params: Parameters for the request + - completedSince {String}: Only return tasks that are either incomplete or that have been completed since this time. Accepts a date-time string or the keyword *now*. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.getTasksForUserTaskList = function( + userTaskListGid, + params, + dispatchOptions +) { + var path = "/user_task_lists/{user_task_list_gid}/tasks".replace("{user_task_list_gid}", userTaskListGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Unlink dependencies from a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.removeDependenciesForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/removeDependencies".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Unlink dependents from a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.removeDependentsForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/removeDependents".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Remove followers from a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.removeFollowerForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/removeFollowers".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Remove a project from a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.removeProjectForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/removeProject".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Remove a tag from a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.removeTagForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/removeTag".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Search tasks in a workspace + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - text {String}: Performs full-text search on both task name and description + - resourceSubtype {String}: Filters results by the task's resource_subtype + - assigneeAny {String}: Comma-separated list of user identifiers + - assigneeNot {String}: Comma-separated list of user identifiers + - portfoliosAny {String}: Comma-separated list of portfolio IDs + - projectsAny {String}: Comma-separated list of project IDs + - projectsNot {String}: Comma-separated list of project IDs + - projectsAll {String}: Comma-separated list of project IDs + - sectionsAny {String}: Comma-separated list of section or column IDs + - sectionsNot {String}: Comma-separated list of section or column IDs + - sectionsAll {String}: Comma-separated list of section or column IDs + - tagsAny {String}: Comma-separated list of tag IDs + - tagsNot {String}: Comma-separated list of tag IDs + - tagsAll {String}: Comma-separated list of tag IDs + - teamsAny {String}: Comma-separated list of team IDs + - followersNot {String}: Comma-separated list of user identifiers + - createdByAny {String}: Comma-separated list of user identifiers + - createdByNot {String}: Comma-separated list of user identifiers + - assignedByAny {String}: Comma-separated list of user identifiers + - assignedByNot {String}: Comma-separated list of user identifiers + - likedByNot {String}: Comma-separated list of user identifiers + - commentedOnByNot {String}: Comma-separated list of user identifiers + - dueOnBefore {Date}: ISO 8601 date string + - dueOnAfter {Date}: ISO 8601 date string + - dueOn {Date}: ISO 8601 date string or `null` + - dueAtBefore {Date}: ISO 8601 datetime string + - dueAtAfter {Date}: ISO 8601 datetime string + - startOnBefore {Date}: ISO 8601 date string + - startOnAfter {Date}: ISO 8601 date string + - startOn {Date}: ISO 8601 date string or `null` + - createdOnBefore {Date}: ISO 8601 date string + - createdOnAfter {Date}: ISO 8601 date string + - createdOn {Date}: ISO 8601 date string or `null` + - createdAtBefore {Date}: ISO 8601 datetime string + - createdAtAfter {Date}: ISO 8601 datetime string + - completedOnBefore {Date}: ISO 8601 date string + - completedOnAfter {Date}: ISO 8601 date string + - completedOn {Date}: ISO 8601 date string or `null` + - completedAtBefore {Date}: ISO 8601 datetime string + - completedAtAfter {Date}: ISO 8601 datetime string + - modifiedOnBefore {Date}: ISO 8601 date string + - modifiedOnAfter {Date}: ISO 8601 date string + - modifiedOn {Date}: ISO 8601 date string or `null` + - modifiedAtBefore {Date}: ISO 8601 datetime string + - modifiedAtAfter {Date}: ISO 8601 datetime string + - isBlocking {Boolean}: Filter to incomplete tasks with dependents + - isBlocked {Boolean}: Filter to tasks with incomplete dependencies + - hasAttachment {Boolean}: Filter to tasks with attachments + - completed {Boolean}: Filter to completed tasks + - isSubtask {Boolean}: Filter to subtasks + - sortBy {String}: One of `due_date`, `created_at`, `completed_at`, `likes`, or `modified_at`, defaults to `modified_at` + - sortAscending {Boolean}: Default `false` + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.searchTasksForWorkspace = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/tasks/search".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Set the parent of a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.setParentForTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/setParent".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Update a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.updateTask = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}".replace("{task_gid}", taskGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Tasks; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 91532: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Teams(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Teams, Resource); + + +/** + * Add a user to a team + * @param {String} teamGid: (required) Globally unique identifier for the team. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Teams.prototype.addUserForTeam = function( + teamGid, + data, + dispatchOptions +) { + var path = "/teams/{team_gid}/addUser".replace("{team_gid}", teamGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Create a team + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Teams.prototype.createTeam = function( + data, + dispatchOptions +) { + var path = "/teams"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Get a team + * @param {String} teamGid: (required) Globally unique identifier for the team. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Teams.prototype.getTeam = function( + teamGid, + params, + dispatchOptions +) { + var path = "/teams/{team_gid}".replace("{team_gid}", teamGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get teams for a user + * @param {String} userGid: (required) A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. + * @param {Object} params: Parameters for the request + - organization {String}: (required) The workspace or organization to filter teams on. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Teams.prototype.getTeamsForUser = function( + userGid, + params, + dispatchOptions +) { + var path = "/users/{user_gid}/teams".replace("{user_gid}", userGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get teams in a workspace + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Teams.prototype.getTeamsForWorkspace = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/teams".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Remove a user from a team + * @param {String} teamGid: (required) Globally unique identifier for the team. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Teams.prototype.removeUserForTeam = function( + teamGid, + data, + dispatchOptions +) { + var path = "/teams/{team_gid}/removeUser".replace("{team_gid}", teamGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Update a team + * @param {String} teamGid: (required) Globally unique identifier for the team. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Teams.prototype.updateTeam = function( + teamGid, + data, + dispatchOptions +) { + var path = "/teams/{team_gid}".replace("{team_gid}", teamGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Teams; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 94592: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function TimePeriods(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(TimePeriods, Resource); + + +/** + * Get a time period + * @param {String} timePeriodGid: (required) Globally unique identifier for the time period. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TimePeriods.prototype.getTimePeriod = function( + timePeriodGid, + params, + dispatchOptions +) { + var path = "/time_periods/{time_period_gid}".replace("{time_period_gid}", timePeriodGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get time periods + * @param {Object} params: Parameters for the request + - startOn {Date}: ISO 8601 date string + - endOn {Date}: ISO 8601 date string + - workspace {String}: (required) Globally unique identifier for the workspace. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TimePeriods.prototype.getTimePeriods = function( + params, + dispatchOptions +) { + var path = "/time_periods"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = TimePeriods; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 84250: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function TimeTrackingEntries(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(TimeTrackingEntries, Resource); + + +/** + * Create a time tracking entry + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TimeTrackingEntries.prototype.createTimeTrackingEntry = function( + taskGid, + data, + dispatchOptions +) { + var path = "/tasks/{task_gid}/time_tracking_entries".replace("{task_gid}", taskGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a time tracking entry + * @param {String} timeTrackingEntryGid: (required) Globally unique identifier for the time tracking entry. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TimeTrackingEntries.prototype.deleteTimeTrackingEntry = function( + timeTrackingEntryGid, + data, + dispatchOptions +) { + var path = "/time_tracking_entries/{time_tracking_entry_gid}".replace("{time_tracking_entry_gid}", timeTrackingEntryGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get time tracking entries for a task + * @param {String} taskGid: (required) The task to operate on. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TimeTrackingEntries.prototype.getTimeTrackingEntriesForTask = function( + taskGid, + params, + dispatchOptions +) { + var path = "/tasks/{task_gid}/time_tracking_entries".replace("{task_gid}", taskGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get a time tracking entry + * @param {String} timeTrackingEntryGid: (required) Globally unique identifier for the time tracking entry. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TimeTrackingEntries.prototype.getTimeTrackingEntry = function( + timeTrackingEntryGid, + params, + dispatchOptions +) { + var path = "/time_tracking_entries/{time_tracking_entry_gid}".replace("{time_tracking_entry_gid}", timeTrackingEntryGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Update a time tracking entry + * @param {String} timeTrackingEntryGid: (required) Globally unique identifier for the time tracking entry. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +TimeTrackingEntries.prototype.updateTimeTrackingEntry = function( + timeTrackingEntryGid, + data, + dispatchOptions +) { + var path = "/time_tracking_entries/{time_tracking_entry_gid}".replace("{time_tracking_entry_gid}", timeTrackingEntryGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = TimeTrackingEntries; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 4979: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Typeahead(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Typeahead, Resource); + + +/** + * Get objects via typeahead + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - resourceType {String}: (required) The type of values the typeahead should return. You can choose from one of the following: `custom_field`, `goal`, `project`, `project_template`, `portfolio`, `tag`, `task`, `team`, and `user`. Note that unlike in the names of endpoints, the types listed here are in singular form (e.g. `task`). Using multiple types is not yet supported. + - type {String}: *Deprecated: new integrations should prefer the resource_type field.* + - query {String}: The string that will be used to search for relevant objects. If an empty string is passed in, the API will return results. + - count {Number}: The number of results to return. The default is 20 if this parameter is omitted, with a minimum of 1 and a maximum of 100. If there are fewer results found than requested, all will be returned. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Typeahead.prototype.typeaheadForWorkspace = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/typeahead".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = Typeahead; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 90841: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function UserTaskLists(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(UserTaskLists, Resource); + + +/** + * Get a user task list + * @param {String} userTaskListGid: (required) Globally unique identifier for the user task list. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +UserTaskLists.prototype.getUserTaskList = function( + userTaskListGid, + params, + dispatchOptions +) { + var path = "/user_task_lists/{user_task_list_gid}".replace("{user_task_list_gid}", userTaskListGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get a user's task list + * @param {String} userGid: (required) A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. + * @param {Object} params: Parameters for the request + - workspace {String}: (required) The workspace in which to get the user task list. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +UserTaskLists.prototype.getUserTaskListForUser = function( + userGid, + params, + dispatchOptions +) { + var path = "/users/{user_gid}/user_task_list".replace("{user_gid}", userGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + +module.exports = UserTaskLists; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 89886: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Users(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Users, Resource); + + +/** + * Get a user's favorites + * @param {String} userGid: (required) A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. + * @param {Object} params: Parameters for the request + - resourceType {String}: (required) The resource type of favorites to be returned. + - workspace {String}: (required) The workspace in which to get favorites. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Users.prototype.getFavoritesForUser = function( + userGid, + params, + dispatchOptions +) { + var path = "/users/{user_gid}/favorites".replace("{user_gid}", userGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get a user + * @param {String} userGid: (required) A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Users.prototype.getUser = function( + userGid, + params, + dispatchOptions +) { + var path = "/users/{user_gid}".replace("{user_gid}", userGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple users + * @param {Object} params: Parameters for the request + - workspace {String}: The workspace or organization ID to filter users on. + - team {String}: The team ID to filter users on. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Users.prototype.getUsers = function( + params, + dispatchOptions +) { + var path = "/users"; + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get users in a team + * @param {String} teamGid: (required) Globally unique identifier for the team. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Users.prototype.getUsersForTeam = function( + teamGid, + params, + dispatchOptions +) { + var path = "/teams/{team_gid}/users".replace("{team_gid}", teamGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get users in a workspace or organization + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Users.prototype.getUsersForWorkspace = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/users".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = Users; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 60594: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Webhooks(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Webhooks, Resource); + + +/** + * Establish a webhook + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Webhooks.prototype.createWebhook = function( + data, + dispatchOptions +) { + var path = "/webhooks"; + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Delete a webhook + * @param {String} webhookGid: (required) Globally unique identifier for the webhook. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Webhooks.prototype.deleteWebhook = function( + webhookGid, + data, + dispatchOptions +) { + var path = "/webhooks/{webhook_gid}".replace("{webhook_gid}", webhookGid); + + return this.dispatchDelete(path, data, dispatchOptions) +}; + + +/** + * Get a webhook + * @param {String} webhookGid: (required) Globally unique identifier for the webhook. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Webhooks.prototype.getWebhook = function( + webhookGid, + params, + dispatchOptions +) { + var path = "/webhooks/{webhook_gid}".replace("{webhook_gid}", webhookGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple webhooks + * @param {Object} params: Parameters for the request + - workspace {String}: (required) The workspace to query for webhooks in. + - resource {String}: Only return webhooks for the given resource. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Webhooks.prototype.getWebhooks = function( + params, + dispatchOptions +) { + var path = "/webhooks"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Update a webhook + * @param {String} webhookGid: (required) Globally unique identifier for the webhook. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Webhooks.prototype.updateWebhook = function( + webhookGid, + data, + dispatchOptions +) { + var path = "/webhooks/{webhook_gid}".replace("{webhook_gid}", webhookGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Webhooks; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 56373: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function WorkspaceMemberships(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(WorkspaceMemberships, Resource); + + +/** + * Get a workspace membership + * @param {String} workspaceMembershipGid: (required) + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +WorkspaceMemberships.prototype.getWorkspaceMembership = function( + workspaceMembershipGid, + params, + dispatchOptions +) { + var path = "/workspace_memberships/{workspace_membership_gid}".replace("{workspace_membership_gid}", workspaceMembershipGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get workspace memberships for a user + * @param {String} userGid: (required) A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +WorkspaceMemberships.prototype.getWorkspaceMembershipsForUser = function( + userGid, + params, + dispatchOptions +) { + var path = "/users/{user_gid}/workspace_memberships".replace("{user_gid}", userGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Get the workspace memberships for a workspace + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - user {String}: A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +WorkspaceMemberships.prototype.getWorkspaceMembershipsForWorkspace = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/workspace_memberships".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + +module.exports = WorkspaceMemberships; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 10518: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +/** + * This file is auto-generated by our openapi spec. + * We try to keep the generated code pretty clean but there will be lint + * errors that are just not worth fixing (like unused requires). + * TODO: maybe we can just disable those specifically and keep this code + * pretty lint-free too! + */ +/* jshint ignore:start */ +var Resource = __nccwpck_require__(54515); +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +function Workspaces(dispatcher) { + Resource.call(this, dispatcher); +} +util.inherits(Workspaces, Resource); + + +/** + * Add a user to a workspace or organization + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Workspaces.prototype.addUserForWorkspace = function( + workspaceGid, + data, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/addUser".replace("{workspace_gid}", workspaceGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Get a workspace + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} params: Parameters for the request + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Workspaces.prototype.getWorkspace = function( + workspaceGid, + params, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}".replace("{workspace_gid}", workspaceGid); + + return this.dispatchGet(path, params, dispatchOptions) +}; + + +/** + * Get multiple workspaces + * @param {Object} params: Parameters for the request + - offset {String}: Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. *Note: You can only pass in an offset that was returned to you via a previously paginated request.* + - limit {Number}: Results per page. The number of objects to return per page. The value must be between 1 and 100. + - optFields {[String]}: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. + - optPretty {Boolean}: Provides “pretty†output. Provides the response in a “pretty†format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Workspaces.prototype.getWorkspaces = function( + params, + dispatchOptions +) { + var path = "/workspaces"; + + return this.dispatchGetCollection(path, params, dispatchOptions) +}; + + +/** + * Remove a user from a workspace or organization + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Workspaces.prototype.removeUserForWorkspace = function( + workspaceGid, + data, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}/removeUser".replace("{workspace_gid}", workspaceGid); + + return this.dispatchPost(path, data, dispatchOptions) +}; + + +/** + * Update a workspace + * @param {String} workspaceGid: (required) Globally unique identifier for the workspace or organization. + * @param {Object} data: Data for the request + * @param {Object} [dispatchOptions]: Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Workspaces.prototype.updateWorkspace = function( + workspaceGid, + data, + dispatchOptions +) { + var path = "/workspaces/{workspace_gid}".replace("{workspace_gid}", workspaceGid); + + return this.dispatchPut(path, data, dispatchOptions) +}; + +module.exports = Workspaces; +/* jshint ignore:end */ + + +/***/ }), + +/***/ 95232: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var GoalRelationships = __nccwpck_require__(69503); + +module.exports = GoalRelationships; + + +/***/ }), + +/***/ 62631: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Goals = __nccwpck_require__(18698); + +module.exports = Goals; + + +/***/ }), + +/***/ 53531: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +exports.Resource = __nccwpck_require__(54515); + +exports.Allocations = __nccwpck_require__(96244); +exports.Attachments = __nccwpck_require__(65757); +exports.AuditLogAPI = __nccwpck_require__(88718); +exports.BatchAPI = __nccwpck_require__(59108); +exports.CustomFieldSettings = __nccwpck_require__(87399); +exports.CustomFields = __nccwpck_require__(23706); +exports.Events = __nccwpck_require__(90314); +exports.GoalRelationships = __nccwpck_require__(95232); +exports.Goals = __nccwpck_require__(62631); +exports.Jobs = __nccwpck_require__(54511); +exports.Memberships = __nccwpck_require__(8186); +exports.OrganizationExports = __nccwpck_require__(75908); +exports.PortfolioMemberships = __nccwpck_require__(11977); +exports.Portfolios = __nccwpck_require__(2714); +exports.ProjectBriefs = __nccwpck_require__(63340); +exports.ProjectMemberships = __nccwpck_require__(58168); +exports.ProjectStatuses = __nccwpck_require__(12259); +exports.ProjectTemplates = __nccwpck_require__(63042); +exports.Projects = __nccwpck_require__(2597); +exports.Sections = __nccwpck_require__(11307); +exports.StatusUpdates = __nccwpck_require__(30468); +exports.Stories = __nccwpck_require__(94170); +exports.Tags = __nccwpck_require__(69658); +exports.TaskTemplates = __nccwpck_require__(32362); +exports.Tasks = __nccwpck_require__(80813); +exports.Teams = __nccwpck_require__(50097); +exports.TimePeriods = __nccwpck_require__(83599); +exports.TimeTrackingEntries = __nccwpck_require__(95871); +exports.Typeahead = __nccwpck_require__(88826); +exports.UserTaskLists = __nccwpck_require__(32375); +exports.Users = __nccwpck_require__(93807); +exports.Webhooks = __nccwpck_require__(56873); +exports.WorkspaceMemberships = __nccwpck_require__(24016); +exports.Workspaces = __nccwpck_require__(73373); + + +/***/ }), + +/***/ 54511: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Jobs = __nccwpck_require__(79148); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns the complete job record for a single job. + * @param {String} job The job to get. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Jobs.prototype.findById = function( + job, + params, + dispatchOptions +) { + var path = util.format('/jobs/%s', job); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = Jobs; + + +/***/ }), + +/***/ 8186: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Memberships = __nccwpck_require__(17731); + +module.exports = Memberships; + + +/***/ }), + +/***/ 75908: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var OrganizationExports = __nccwpck_require__(42335); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns details of a previously-requested Organization export. + * @param {String} organization_export Globally unique identifier for the Organization export. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +OrganizationExports.prototype.findById = function( + organizationExport, + params, + dispatchOptions +) { + var path = util.format('/organization_exports/%s', organizationExport); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * This method creates a request to export an Organization. Asana will complete the export at some + * point after you create the request. + * @param {Object} data Data for the request + * @param {String} data.organization Globally unique identifier for the workspace or organization. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +OrganizationExports.prototype.create = function( + data, + dispatchOptions +) { + var path = util.format('/organization_exports'); + + return this.dispatchPost(path, data, dispatchOptions); +}; + + +/* jshint ignore:end */ +module.exports = OrganizationExports; + + +/***/ }), + +/***/ 11977: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var PortfolioMemberships = __nccwpck_require__(12472); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns the compact portfolio membership records for the portfolio. You must + * specify `portfolio`, `portfolio` and `user`, or `workspace` and `user`. + * @param {Object} [params] Parameters for the request + * @param {String} [params.portfolio] The portfolio for which to fetch memberships. + * @param {String} [params.workspace] The workspace for which to fetch memberships. + * @param {String} [params.user] The user to filter the memberships to. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +PortfolioMemberships.prototype.findAll = function( + params, + dispatchOptions +) { + var path = util.format('/portfolio_memberships'); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact portfolio membership records for the portfolio. + * @param {String} portfolio The portfolio for which to fetch memberships. + * @param {Object} [params] Parameters for the request + * @param {String} [params.user] If present, the user to filter the memberships to. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +PortfolioMemberships.prototype.findByPortfolio = function( + portfolio, + params, + dispatchOptions +) { + var path = util.format('/portfolios/%s/portfolio_memberships', portfolio); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the portfolio membership record. + * @param {String} portfolio_membership Globally unique identifier for the portfolio membership. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +PortfolioMemberships.prototype.findById = function( + portfolioMembership, + params, + dispatchOptions +) { + var path = util.format('/portfolio_memberships/%s', portfolioMembership); + + return this.dispatchGet(path, params, dispatchOptions); +}; + + +/* jshint ignore:end */ +module.exports = PortfolioMemberships; + + +/***/ }), + +/***/ 2714: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Portfolios = __nccwpck_require__(45189); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Creates a new portfolio in the given workspace with the supplied name. + * + * Note that portfolios created in the Asana UI may have some state + * (like the "Priority" custom field) which is automatically added to the + * portfolio when it is created. Portfolios created via our API will **not** + * be created with the same initial state to allow integrations to create + * their own starting state on a portfolio. + * @param {Object} data Data for the request + * @param {String} data.workspace The workspace or organization in which to create the portfolio. + * @param {String} data.name The name of the newly-created portfolio + * @param {String} [data.color] An optional color for the portfolio + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.create = function( + data, + dispatchOptions +) { + var path = util.format('/portfolios'); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the complete record for a single portfolio. + * @param {String} portfolio The portfolio to get. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.findById = function( + portfolio, + params, + dispatchOptions +) { + var path = util.format('/portfolios/%s', portfolio); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * An existing portfolio can be updated by making a PUT request on the + * URL for that portfolio. Only the fields provided in the `data` block will be + * updated; any unspecified fields will remain unchanged. + * + * Returns the complete updated portfolio record. + * @param {String} portfolio The portfolio to update. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.update = function( + portfolio, + data, + dispatchOptions +) { + var path = util.format('/portfolios/%s', portfolio); + + return this.dispatchPut(path, data, dispatchOptions); +}; + +/** + * An existing portfolio can be deleted by making a DELETE request + * on the URL for that portfolio. + * + * Returns an empty data record. + * @param {String} portfolio The portfolio to delete. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.delete = function( + portfolio, + dispatchOptions +) { + var path = util.format('/portfolios/%s', portfolio); + + return this.dispatchDelete(path, dispatchOptions); +}; + +/** + * Returns a list of the portfolios in compact representation that are owned + * by the current API user. + * @param {Object} [params] Parameters for the request + * @param {String} params.workspace The workspace or organization to filter portfolios on. + * @param {String} params.owner The user who owns the portfolio. Currently, API users can only get a + * list of portfolios that they themselves own. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.findAll = function( + params, + dispatchOptions +) { + var path = util.format('/portfolios'); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Get a list of the items in compact form in a portfolio. + * @param {String} portfolio The portfolio from which to get the list of items. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.getItems = function( + portfolio, + params, + dispatchOptions +) { + var path = util.format('/portfolios/%s/items', portfolio); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Add an item to a portfolio. + * + * Returns an empty data block. + * @param {String} portfolio The portfolio to which to add an item. + * @param {Object} data Data for the request + * @param {String} data.item The item to add to the portfolio. + * @param {String} [data.insert_before] An id of an item in this portfolio. The new item will be added before the one specified here. + * `insert_before` and `insert_after` parameters cannot both be specified. + * @param {String} [data.insert_after] An id of an item in this portfolio. The new item will be added after the one specified here. + * `insert_before` and `insert_after` parameters cannot both be specified. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.addItem = function( + portfolio, + data, + dispatchOptions +) { + var path = util.format('/portfolios/%s/addItem', portfolio); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Remove an item to a portfolio. + * + * Returns an empty data block. + * @param {String} portfolio The portfolio from which to remove the item. + * @param {Object} data Data for the request + * @param {String} data.item The item to remove from the portfolio. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.removeItem = function( + portfolio, + data, + dispatchOptions +) { + var path = util.format('/portfolios/%s/removeItem', portfolio); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Adds the specified list of users as members of the portfolio. Returns the updated portfolio record. + * @param {String} portfolio The portfolio to add members to. + * @param {Object} data Data for the request + * @param {Array} data.members An array of user ids. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.addMembers = function( + portfolio, + data, + dispatchOptions +) { + var path = util.format('/portfolios/%s/addMembers', portfolio); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Removes the specified list of members from the portfolio. Returns the updated portfolio record. + * @param {String} portfolio The portfolio to remove members from. + * @param {Object} data Data for the request + * @param {Array} data.members An array of user ids. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.removeMembers = function( + portfolio, + data, + dispatchOptions +) { + var path = util.format('/portfolios/%s/removeMembers', portfolio); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Get the custom field settings on a portfolio. + * @param {String} portfolio The portfolio from which to get the custom field settings. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Portfolios.prototype.customFieldSettings = function( + portfolio, + params, + dispatchOptions +) { + var path = util.format('/portfolios/%s/custom_field_settings', portfolio); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Create a new custom field setting on the portfolio. Returns the full + * record for the new custom field setting. + * @param {String} portfolio The portfolio onto which to add the custom field. + * @param {Object} data Data for the request + * @param {String} data.custom_field The id of the custom field to add to the portfolio. + * @param {Boolean} [data.is_important] Whether this field should be considered important to this portfolio (for instance, to display in the list view of items in the portfolio). + * @param {String} [data.insert_before] An id of a custom field setting on this portfolio. The new custom field setting will be added before this one. + * `insert_before` and `insert_after` parameters cannot both be specified. + * @param {String} [data.insert_after] An id of a custom field setting on this portfolio. The new custom field setting will be added after this one. + * `insert_before` and `insert_after` parameters cannot both be specified. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.addCustomFieldSetting = function( + portfolio, + data, + dispatchOptions +) { + var path = util.format('/portfolios/%s/addCustomFieldSetting', portfolio); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Remove a custom field setting on the portfolio. Returns an empty data + * block. + * @param {String} portfolio The portfolio from which to remove the custom field. + * @param {Object} data Data for the request + * @param {String} data.custom_field The id of the custom field to remove from this portfolio. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Portfolios.prototype.removeCustomFieldSetting = function( + portfolio, + data, + dispatchOptions +) { + var path = util.format('/portfolios/%s/removeCustomFieldSetting', portfolio); + + return this.dispatchPost(path, data, dispatchOptions); +}; + + +/* jshint ignore:end */ +module.exports = Portfolios; + + +/***/ }), + +/***/ 63340: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var ProjectBriefs = __nccwpck_require__(21887); + +module.exports = ProjectBriefs; + + +/***/ }), + +/***/ 58168: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var ProjectMemberships = __nccwpck_require__(43709); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns the compact project membership records for the project. + * @param {String} project The project for which to fetch memberships. + * @param {Object} [params] Parameters for the request + * @param {String} [params.user] If present, the user to filter the memberships to. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +ProjectMemberships.prototype.findByProject = function( + project, + params, + dispatchOptions +) { + var path = util.format('/projects/%s/project_memberships', project); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the project membership record. + * @param {String} projectMembership Globally unique identifier for the project membership. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectMemberships.prototype.findById = function( + projectMembership, + params, + dispatchOptions +) { + var path = util.format('/project_memberships/%s', projectMembership); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * This is for compatibility reasons. Please use findByProject. + */ +ProjectMemberships.prototype.getMany = + ProjectMemberships.prototype.findByProject; +/** + * This is for compatibility reasons. Please use findById. + */ +ProjectMemberships.prototype.getSingle = ProjectMemberships.prototype.findById; + +/* jshint ignore:end */ +module.exports = ProjectMemberships; + + +/***/ }), + +/***/ 12259: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var ProjectStatuses = __nccwpck_require__(72472); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Creates a new status update on the project. + * + * Returns the full record of the newly created project status update. + * @param {String} project The project on which to create a status update. + * @param {Object} data Data for the request + * @param {String} data.text The text of the project status update. + * @param {String} data.color The color to associate with the status update. Must be one of `"red"`, `"yellow"`, or `"green"`. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +ProjectStatuses.prototype.createInProject = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/project_statuses', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the compact project status update records for all updates on the project. + * @param {String} project The project to find status updates for. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +ProjectStatuses.prototype.findByProject = function( + project, + params, + dispatchOptions +) { + var path = util.format('/projects/%s/project_statuses', project); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the complete record for a single status update. + * @param {String} project-status The project status update to get. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +ProjectStatuses.prototype.findById = function( + projectStatus, + params, + dispatchOptions +) { + var path = util.format('/project_statuses/%s', projectStatus); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Deletes a specific, existing project status update. + * + * Returns an empty data record. + * @param {String} project-status The project status update to delete. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +ProjectStatuses.prototype.delete = function( + projectStatus, + dispatchOptions +) { + var path = util.format('/project_statuses/%s', projectStatus); + + return this.dispatchDelete(path, dispatchOptions); +}; + +/** + * This is for compatibility reasons. Please use createInProject. + */ +ProjectStatuses.prototype.create = ProjectStatuses.prototype.createInProject; + +/* jshint ignore:end */ +module.exports = ProjectStatuses; + + +/***/ }), + +/***/ 63042: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var ProjectTemplates = __nccwpck_require__(59755); + +module.exports = ProjectTemplates; + + +/***/ }), + +/***/ 2597: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Projects = __nccwpck_require__(49694); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Creates a new project in a workspace or team. + * + * Every project is required to be created in a specific workspace or + * organization, and this cannot be changed once set. Note that you can use + * the `workspace` parameter regardless of whether or not it is an + * organization. + * + * If the workspace for your project _is_ an organization, you must also + * supply a `team` to share the project with. + * + * Returns the full record of the newly created project. + * @param {Object} data Data for the request + * @param {String} data.workspace The workspace or organization to create the project in. + * @param {String} [data.team] If creating in an organization, the specific team to create the + * project in. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.create = function( + data, + dispatchOptions +) { + var path = util.format('/projects'); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * If the workspace for your project _is_ an organization, you must also + * supply a `team` to share the project with. + * + * Returns the full record of the newly created project. + * @param {String} workspace The workspace or organization to create the project in. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.createInWorkspace = function( + workspace, + data, + dispatchOptions +) { + var path = util.format('/workspaces/%s/projects', workspace); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Creates a project shared with the given team. + * + * Returns the full record of the newly created project. + * @param {String} team The team to create the project in. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.createInTeam = function( + team, + data, + dispatchOptions +) { + var path = util.format('/teams/%s/projects', team); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the complete project record for a single project. + * @param {String} project The project to get. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Projects.prototype.findById = function( + project, + params, + dispatchOptions +) { + var path = util.format('/projects/%s', project); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * A specific, existing project can be updated by making a PUT request on the + * URL for that project. Only the fields provided in the `data` block will be + * updated; any unspecified fields will remain unchanged. + * + * When using this method, it is best to specify only those fields you wish + * to change, or else you may overwrite changes made by another user since + * you last retrieved the task. + * + * Returns the complete updated project record. + * @param {String} project The project to update. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.update = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s', project); + + return this.dispatchPut(path, data, dispatchOptions); +}; + +/** + * A specific, existing project can be deleted by making a DELETE request + * on the URL for that project. + * + * Returns an empty data record. + * @param {String} project The project to delete. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.delete = function( + project, + dispatchOptions +) { + var path = util.format('/projects/%s', project); + + return this.dispatchDelete(path, dispatchOptions); +}; + +/** + * Creates and returns a job that will asynchronously handle the duplication. + * @param {String} project The project to duplicate. + * @param {Object} data Data for the request + * @param {String} data.name The name of the new project. + * @param {String} [data.team] Sets the team of the new project. If team is not defined, the new project + * will be in the same team as the the original project. + * @param {Array} [data.include] The elements that will be duplicated to the new project. + * Tasks are always included. + * @param {String} [data.schedule_dates] A dictionary of options to auto-shift dates. + * `task_dates` must be included to use this option. + * Requires either `start_on` or `due_on`, but not both. + * `start_on` will set the first start date of the new + * project to the given date, while `due_on` will set the last due date + * to the given date. Both will offset the remaining dates by the same amount + * of the original project. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.duplicateProject = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/duplicate', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the compact project records for some filtered set of projects. + * Use one or more of the parameters provided to filter the projects returned. + * @param {Object} [params] Parameters for the request + * @param {String} [params.workspace] The workspace or organization to filter projects on. + * @param {String} [params.team] The team to filter projects on. + * @param {Boolean} [params.is_template] **Note: This parameter can only be included if a team is also defined, or the workspace is not an organization** + * Filters results to include only template projects. + * @param {Boolean} [params.archived] Only return projects whose `archived` field takes on the value of + * this parameter. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.findAll = function( + params, + dispatchOptions +) { + var path = util.format('/projects'); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact project records for all projects in the workspace. + * @param {String} workspace The workspace or organization to find projects in. + * @param {Object} [params] Parameters for the request + * @param {Boolean} [params.is_template] **Note: This parameter can only be included if a team is also defined, or the workspace is not an organization** + * Filters results to include only template projects. + * @param {Boolean} [params.archived] Only return projects whose `archived` field takes on the value of + * this parameter. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.findByWorkspace = function( + workspace, + params, + dispatchOptions +) { + var path = util.format('/workspaces/%s/projects', workspace); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact project records for all projects in the team. + * @param {String} team The team to find projects in. + * @param {Object} [params] Parameters for the request + * @param {Boolean} [params.is_template] Filters results to include only template projects. + * @param {Boolean} [params.archived] Only return projects whose `archived` field takes on the value of + * this parameter. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.findByTeam = function( + team, + params, + dispatchOptions +) { + var path = util.format('/teams/%s/projects', team); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact task records for all tasks within the given project, + * ordered by their priority within the project. Tasks can exist in more than one project at a time. + * @param {String} project The project in which to search for tasks. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.tasks = function( + project, + params, + dispatchOptions +) { + var path = util.format('/projects/%s/tasks', project); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Adds the specified list of users as followers to the project. Followers are a subset of members, therefore if + * the users are not already members of the project they will also become members as a result of this operation. + * Returns the updated project record. + * @param {String} project The project to add followers to. + * @param {Object} data Data for the request + * @param {Array} data.followers An array of followers to add to the project. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.addFollowers = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/addFollowers', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Removes the specified list of users from following the project, this will not affect project membership status. + * Returns the updated project record. + * @param {String} project The project to remove followers from. + * @param {Object} data Data for the request + * @param {Array} data.followers An array of followers to remove from the project. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.removeFollowers = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/removeFollowers', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Adds the specified list of users as members of the project. Returns the updated project record. + * @param {String} project The project to add members to. + * @param {Object} data Data for the request + * @param {Array} data.members An array of user ids. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.addMembers = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/addMembers', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Removes the specified list of members from the project. Returns the updated project record. + * @param {String} project The project to remove members from. + * @param {Object} data Data for the request + * @param {Array} data.members An array of user ids. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.removeMembers = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/removeMembers', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Create a new custom field setting on the project. + * @param {String} project The project to associate the custom field with + * @param {Object} data Data for the request + * @param {String} data.custom_field The id of the custom field to associate with this project. + * @param {Boolean} [data.is_important] Whether this field should be considered important to this project. + * @param {String} [data.insert_before] An id of a Custom Field Settings on this project, before which the new Custom Field Settings will be added. + * `insert_before` and `insert_after` parameters cannot both be specified. + * @param {String} [data.insert_after] An id of a Custom Field Settings on this project, after which the new Custom Field Settings will be added. + * `insert_before` and `insert_after` parameters cannot both be specified. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.addCustomFieldSetting = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/addCustomFieldSetting', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Remove a custom field setting on the project. + * @param {String} project The project to associate the custom field with + * @param {Object} data Data for the request + * @param {String} [data.custom_field] The id of the custom field to remove from this project. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Projects.prototype.removeCustomFieldSetting = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/removeCustomFieldSetting', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = Projects; + + +/***/ }), + +/***/ 54515: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Collection = __nccwpck_require__(5804); + +/** + * Base class for a resource accessible via the API. Uses a `Dispatcher` to + * access the resources. + * @param {Dispatcher} dispatcher + * @constructor + */ +function Resource(dispatcher) { + /** + * An instance of the dispatcher. This is usually passed from the client. + * @type {Dispatcher} + */ + this.dispatcher = dispatcher; +} + +/** + * @type {number} Default number of items to get per page. + */ +Resource.DEFAULT_PAGE_LIMIT = 50; + +/** + * Helper method that dispatches a GET request to the API, where the expected + * result is a collection. + * @param {Dispatcher} dispatcher + * @param {String} path The path of the API + * @param {Object} [query] The query params + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `Dispatcher.dispatch`. + * @return {Promise} The Collection response for the request + */ +Resource.getCollection = function(dispatcher, path, query, dispatchOptions) { + query = query || {}; + query.limit = query.limit || Resource.DEFAULT_PAGE_LIMIT; + return Collection.fromDispatch( + dispatcher.get(path, query, dispatchOptions), + dispatcher, + dispatchOptions); +}; + +/** + * Helper method for any request Promise from the Dispatcher, unwraps the `data` + * value from the payload. + * @param {Promise} promise A promise returned from a `Dispatcher` request. + * @return {Promise} The `data` portion of the response payload. + */ +Resource.unwrap = function(promise) { + return promise.then(function(payload) { + return payload.data; + }); +}; + +/** + * Dispatches a GET request to the API, where the expected result is a + * single resource. + * @param {String} path The path of the API + * @param {Object} [query] The query params + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `Dispatcher.dispatch`. + * @return {Promise} The response for the request + */ +Resource.prototype.dispatchGet = function(path, query, dispatchOptions) { + return Resource.unwrap(this.dispatcher.get(path, query, dispatchOptions)); +}; + +/** + * Dispatches a GET request to the API, where the expected result is a + * collection. + * @param {String} path The path of the API + * @param {Object} [query] The query params + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `Dispatcher.dispatch`. + * @return {Promise} The response for the request + */ +Resource.prototype.dispatchGetCollection = + function(path, query, dispatchOptions) { + return Resource.getCollection(this.dispatcher, path, query, dispatchOptions); +}; + +/** + * Dispatches a POST request to the API, where the expected response is a + * single resource. + * @param {String} path The path of the API + * @param {Object} [query] The query params + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `Dispatcher.dispatch`. + * @return {Promise} The response for the request + */ +Resource.prototype.dispatchPost = function(path, query, dispatchOptions) { + return Resource.unwrap(this.dispatcher.post(path, query, dispatchOptions)); +}; + +/** + * Dispatches a POST request to the API, where the expected response is a + * single resource. + * @param {String} path The path of the API + * @param {Object} [query] The query params + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `Dispatcher.dispatch`. + * @return {Promise} The response for the request + */ +Resource.prototype.dispatchPut = function(path, query, dispatchOptions) { + return Resource.unwrap(this.dispatcher.put(path, query, dispatchOptions)); +}; + +/** + * Dispatches a DELETE request to the API. The expected response is an + * empty resource. + * @param {String} path The path of the API + * @param {Object} [dispatchOptions] Options for handling the request and + * response. See `Dispatcher.dispatch`. + * @return {Promise} The response for the request + */ +Resource.prototype.dispatchDelete = function(path, dispatchOptions) { + return Resource.unwrap(this.dispatcher.delete(path, dispatchOptions)); +}; + +module.exports = Resource; + + +/***/ }), + +/***/ 11307: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Sections = __nccwpck_require__(69176); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Creates a new section in a project. + * + * Returns the full record of the newly created section. + * @param {String} project The project to create the section in + * @param {Object} data Data for the request + * @param {String} data.name The text to be displayed as the section name. This cannot be an empty string. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Sections.prototype.createInProject = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/sections', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the compact records for all sections in the specified project. + * @param {String} project The project to get sections from. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Sections.prototype.findByProject = function( + project, + params, + dispatchOptions +) { + var path = util.format('/projects/%s/sections', project); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns the complete record for a single section. + * @param {String} section The section to get. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Sections.prototype.findById = function( + section, + params, + dispatchOptions +) { + var path = util.format('/sections/%s', section); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * A specific, existing section can be updated by making a PUT request on + * the URL for that project. Only the fields provided in the `data` block + * will be updated; any unspecified fields will remain unchanged. (note that + * at this time, the only field that can be updated is the `name` field.) + * + * When using this method, it is best to specify only those fields you wish + * to change, or else you may overwrite changes made by another user since + * you last retrieved the task. + * + * Returns the complete updated section record. + * @param {String} section The section to update. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Sections.prototype.update = function( + section, + data, + dispatchOptions +) { + var path = util.format('/sections/%s', section); + + return this.dispatchPut(path, data, dispatchOptions); +}; + +/** + * A specific, existing section can be deleted by making a DELETE request + * on the URL for that section. + * + * Note that sections must be empty to be deleted. + * + * The last remaining section in a board view cannot be deleted. + * + * Returns an empty data block. + * @param {String} section The section to delete. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Sections.prototype.delete = function( + section, + dispatchOptions +) { + var path = util.format('/sections/%s', section); + + return this.dispatchDelete(path, dispatchOptions); +}; + +/** + * Add a task to a specific, existing section. This will remove the task from other sections of the project. + * + * The task will be inserted at the top of a section unless an `insert_before` or `insert_after` parameter is declared. + * + * This does not work for separators (tasks with the `resource_subtype` of section). + * @param {String} task The task to add to this section + * @param {Object} data Data for the request + * @param {String} [data.insert_before] Insert the given task immediately before the task specified by this parameter. Cannot be provided together with `insert_after`. + * @param {String} [data.insert_after] Insert the given task immediately after the task specified by this parameter. Cannot be provided together with `insert_before`. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Sections.prototype.addTask = function( + task, + data, + dispatchOptions +) { + var path = util.format('/sections/%s/addTask', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Move sections relative to each other in a board view. One of + * `before_section` or `after_section` is required. + * + * Sections cannot be moved between projects. + * + * At this point in time, moving sections is not supported in list views, only board views. + * + * Returns an empty data block. + * @param {String} project The project in which to reorder the given section + * @param {Object} data Data for the request + * @param {String} data.section The section to reorder + * @param {String} [data.before_section] Insert the given section immediately before the section specified by this parameter. + * @param {String} [data.after_section] Insert the given section immediately after the section specified by this parameter. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Sections.prototype.insertInProject = function( + project, + data, + dispatchOptions +) { + var path = util.format('/projects/%s/sections/insert', project); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = Sections; + + +/***/ }), + +/***/ 30468: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var StatusUpdates = __nccwpck_require__(93471); + +module.exports = StatusUpdates; + + +/***/ }), + +/***/ 94170: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Stories = __nccwpck_require__(31151); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns the compact records for all stories on the task. + * @param {String} task Globally unique identifier for the task. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Stories.prototype.findByTask = function( + task, + params, + dispatchOptions +) { + var path = util.format('/tasks/%s/stories', task); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the full record for a single story. + * @param {String} story Globally unique identifier for the story. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Stories.prototype.findById = function( + story, + params, + dispatchOptions +) { + var path = util.format('/stories/%s', story); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Adds a comment to a task. The comment will be authored by the + * currently authenticated user, and timestamped when the server receives + * the request. + * + * Returns the full record for the new story added to the task. + * @param {String} task Globally unique identifier for the task. + * @param {Object} data Data for the request + * @param {String} data.text The plain text of the comment to add. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Stories.prototype.createOnTask = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/stories', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Updates the story and returns the full record for the updated story. + * Only comment stories can have their text updated, and only comment stories and + * attachment stories can be pinned. Only one of `text` and `html_text` can be specified. + * @param {String} story Globally unique identifier for the story. + * @param {Object} data Data for the request + * @param {String} [data.text] The plain text with which to update the comment. + * @param {String} [data.html_text] The rich text with which to update the comment. + * @param {Boolean} [data.is_pinned] Whether the story should be pinned on the resource. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Stories.prototype.update = function( + story, + data, + dispatchOptions +) { + var path = util.format('/stories/%s', story); + + return this.dispatchPut(path, data, dispatchOptions); +}; + +/** + * Deletes a story. A user can only delete stories they have created. Returns an empty data record. + * @param {String} story Globally unique identifier for the story. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Stories.prototype.delete = function( + story, + dispatchOptions +) { + var path = util.format('/stories/%s', story); + + return this.dispatchDelete(path, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = Stories; + + +/***/ }), + +/***/ 69658: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Tags = __nccwpck_require__(17661); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Creates a new tag in a workspace or organization. + * + * Every tag is required to be created in a specific workspace or + * organization, and this cannot be changed once set. Note that you can use + * the `workspace` parameter regardless of whether or not it is an + * organization. + * + * Returns the full record of the newly created tag. + * @param {Object} data Data for the request + * @param {String} data.workspace The workspace or organization to create the tag in. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tags.prototype.create = function( + data, + dispatchOptions +) { + var path = util.format('/tags'); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Creates a new tag in a workspace or organization. + * + * Every tag is required to be created in a specific workspace or + * organization, and this cannot be changed once set. Note that you can use + * the `workspace` parameter regardless of whether or not it is an + * organization. + * + * Returns the full record of the newly created tag. + * @param {String} workspace The workspace or organization to create the tag in. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tags.prototype.createInWorkspace = function( + workspace, + data, + dispatchOptions +) { + var path = util.format('/workspaces/%s/tags', workspace); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the complete tag record for a single tag. + * @param {String} tag The tag to get. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tags.prototype.findById = function( + tag, + params, + dispatchOptions +) { + var path = util.format('/tags/%s', tag); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Updates the properties of a tag. Only the fields provided in the `data` + * block will be updated; any unspecified fields will remain unchanged. + * + * When using this method, it is best to specify only those fields you wish + * to change, or else you may overwrite changes made by another user since + * you last retrieved the task. + * + * Returns the complete updated tag record. + * @param {String} tag The tag to update. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tags.prototype.update = function( + tag, + data, + dispatchOptions +) { + var path = util.format('/tags/%s', tag); + + return this.dispatchPut(path, data, dispatchOptions); +}; + +/** + * A specific, existing tag can be deleted by making a DELETE request + * on the URL for that tag. + * + * Returns an empty data record. + * @param {String} tag The tag to delete. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tags.prototype.delete = function( + tag, + dispatchOptions +) { + var path = util.format('/tags/%s', tag); + + return this.dispatchDelete(path, dispatchOptions); +}; + +/** + * Returns the compact tag records for some filtered set of tags. + * Use one or more of the parameters provided to filter the tags returned. + * @param {Object} [params] Parameters for the request + * @param {String} [params.workspace] The workspace or organization to filter tags on. + * @param {String} [params.team] The team to filter tags on. + * @param {Boolean} [params.archived] Only return tags whose `archived` field takes on the value of + * this parameter. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tags.prototype.findAll = function( + params, + dispatchOptions +) { + var path = util.format('/tags'); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact tag records for all tags in the workspace. + * @param {String} workspace The workspace or organization to find tags in. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tags.prototype.findByWorkspace = function( + workspace, + params, + dispatchOptions +) { + var path = util.format('/workspaces/%s/tags', workspace); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact task records for all tasks with the given tag. + * Tasks can have more than one tag at a time. + * @param {String} tag The tag to fetch tasks from. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tags.prototype.getTasksWithTag = function( + tag, + params, + dispatchOptions +) { + var path = util.format('/tags/%s/tasks', tag); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = Tags; + + +/***/ }), + +/***/ 32362: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var TaskTemplates = __nccwpck_require__(53665); + +module.exports = TaskTemplates; + + +/***/ }), + +/***/ 80813: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Tasks = __nccwpck_require__(96948); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +/** + * Returns the task named by the given external ID + * @param {String} externalId The task id + * @param {Object} [params] Extra params for the dispatcher + * @return {Promise} The result of the API call + */ +Tasks.prototype.findByExternalId = function(externalId, params) { + var path = util.format( + '/tasks/%s', encodeURIComponent('external:' + externalId)); + return this.dispatchGet(path, params); +}; + +/** + * Changes the parent of a task. Each task may only be a subtask of a single + * parent, or no parent task at all. Returns an empty data block. + * @param {String} task The task to change the parent of. + * @param {String} parent The new parent of the task, or `null` for no parent. + * @param {Object} [data] Data for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.setParent = function( + task, + parent, + data + ) { + var path = util.format('/tasks/%s/setParent', task); + + data = _.extend({}, data || {}, { + parent: parent !== null ? String(parent) : null + }); + return this.dispatchPost(path, data); +}; + +/** + * Creating a new task is as easy as POSTing to the `/tasks` endpoint + * with a data block containing the fields you'd like to set on the task. + * Any unspecified fields will take on default values. + * + * Every task is required to be created in a specific workspace, and this + * workspace cannot be changed once set. The workspace need not be set + * explicitly if you specify `projects` or a `parent` task instead. + * + * `projects` can be a comma separated list of projects, or just a single + * project the task should belong to. + * @param {Object} data Data for the request + * @param {String} [data.workspace] The workspace to create a task in. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.create = function( + data, + dispatchOptions +) { + var path = util.format('/tasks'); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Creating a new task is as easy as POSTing to the `/tasks` endpoint + * with a data block containing the fields you'd like to set on the task. + * Any unspecified fields will take on default values. + * + * Every task is required to be created in a specific workspace, and this + * workspace cannot be changed once set. The workspace need not be set + * explicitly if you specify a `project` or a `parent` task instead. + * @param {String} workspace The workspace to create a task in. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.createInWorkspace = function( + workspace, + data, + dispatchOptions +) { + var path = util.format('/workspaces/%s/tasks', workspace); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the complete task record for a single task. + * @param {String} task The task to get. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.findById = function( + task, + params, + dispatchOptions +) { + var path = util.format('/tasks/%s', task); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * A specific, existing task can be updated by making a PUT request on the + * URL for that task. Only the fields provided in the `data` block will be + * updated; any unspecified fields will remain unchanged. + * + * When using this method, it is best to specify only those fields you wish + * to change, or else you may overwrite changes made by another user since + * you last retrieved the task. + * + * Returns the complete updated task record. + * @param {String} task The task to update. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.update = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s', task); + + return this.dispatchPut(path, data, dispatchOptions); +}; + +/** + * A specific, existing task can be deleted by making a DELETE request on the + * URL for that task. Deleted tasks go into the "trash" of the user making + * the delete request. Tasks can be recovered from the trash within a period + * of 30 days; afterward they are completely removed from the system. + * + * Returns an empty data record. + * @param {String} task The task to delete. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.delete = function( + task, + dispatchOptions +) { + var path = util.format('/tasks/%s', task); + + return this.dispatchDelete(path, dispatchOptions); +}; + +/** + * Creates and returns a job that will asynchronously handle the duplication. + * @param {String} task The task to duplicate. + * @param {Object} data Data for the request + * @param {String} data.name The name of the new task. + * @param {Array} [data.include] The fields that will be duplicated to the new task. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.duplicateTask = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/duplicate', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the compact task records for all tasks within the given project, + * ordered by their priority within the project. + * @param {String} project The project in which to search for tasks. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.findByProject = function( + project, + params, + dispatchOptions +) { + var path = util.format('/projects/%s/tasks', project); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact task records for all tasks with the given tag. + * @param {String} tag The tag in which to search for tasks. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.findByTag = function( + tag, + params, + dispatchOptions +) { + var path = util.format('/tags/%s/tasks', tag); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Board view only: Returns the compact section records for all tasks within the given section. + * @param {String} section The section in which to search for tasks. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.findBySection = function( + section, + params, + dispatchOptions +) { + var path = util.format('/sections/%s/tasks', section); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact list of tasks in a user's My Tasks list. The returned + * tasks will be in order within each assignee status group of `Inbox`, + * `Today`, and `Upcoming`. + * + * **Note:** tasks in `Later` have a different ordering in the Asana web app + * than the other assignee status groups; this endpoint will still return + * them in list order in `Later` (differently than they show up in Asana, + * but the same order as in Asana's mobile apps). + * + * **Note:** Access control is enforced for this endpoint as with all Asana + * API endpoints, meaning a user's private tasks will be filtered out if the + * API-authenticated user does not have access to them. + * + * **Note:** Both complete and incomplete tasks are returned by default + * unless they are filtered out (for example, setting `completed_since=now` + * will return only incomplete tasks, which is the default view for "My + * Tasks" in Asana.) + * @param {String} user_task_list The user task list in which to search for tasks. + * @param {Object} [params] Parameters for the request + * @param {String} [params.completed_since] Only return tasks that are either incomplete or that have been + * completed since this time. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.findByUserTaskList = function( + userTaskList, + params, + dispatchOptions +) { + var path = util.format('/user_task_lists/%s/tasks', userTaskList); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact task records for some filtered set of tasks. Use one + * or more of the parameters provided to filter the tasks returned. You must + * specify a `project`, `section`, `tag`, or `user_task_list` if you do not + * specify `assignee` and `workspace`. + * @param {Object} [params] Parameters for the request + * @param {String} [params.assignee] The assignee to filter tasks on. + * @param {String} [params.workspace] The workspace or organization to filter tasks on. + * @param {String} [params.project] The project to filter tasks on. + * @param {String} [params.section] The section to filter tasks on. + * @param {String} [params.tag] The tag to filter tasks on. + * @param {String} [params.user_task_list] The user task list to filter tasks on. + * @param {String} [params.completed_since] Only return tasks that are either incomplete or that have been + * completed since this time. + * @param {String} [params.modified_since] Only return tasks that have been modified since the given time. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.findAll = function( + params, + dispatchOptions +) { + var path = util.format('/tasks'); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact task records for all tasks with the given tag. + * Tasks can have more than one tag at a time. + * @param {String} tag The tag to fetch tasks from. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.getTasksWithTag = function( + tag, + params, + dispatchOptions +) { + var path = util.format('/tags/%s/tasks', tag); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * The search endpoint allows you to build complex queries to find and fetch exactly the data you need from Asana. For a more comprehensive description of all the query parameters and limitations of this endpoint, see our [long-form documentation](/developers/documentation/getting-started/search-api) for this feature. + * @param {String} workspace The workspace or organization in which to search for tasks. + * @param {Object} [params] Parameters for the request + * @param {String} [params.resource_subtype] Filters results by the task's resource_subtype. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.searchInWorkspace = function( + workspace, + params, + dispatchOptions +) { + var path = util.format('/workspaces/%s/tasks/search', workspace); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact representations of all of the dependencies of a task. + * @param {String} task The task to get dependencies on. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.dependencies = function( + task, + params, + dispatchOptions +) { + var path = util.format('/tasks/%s/dependencies', task); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns the compact representations of all of the dependents of a task. + * @param {String} task The task to get dependents on. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Tasks.prototype.dependents = function( + task, + params, + dispatchOptions +) { + var path = util.format('/tasks/%s/dependents', task); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Marks a set of tasks as dependencies of this task, if they are not + * already dependencies. *A task can have at most 15 dependencies.* + * @param {String} task The task to add dependencies to. + * @param {Object} data Data for the request + * @param {Array} data.dependencies An array of task IDs that this task should depend on. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.addDependencies = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/addDependencies', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Marks a set of tasks as dependents of this task, if they are not already + * dependents. *A task can have at most 30 dependents.* + * @param {String} task The task to add dependents to. + * @param {Object} data Data for the request + * @param {Array} data.dependents An array of task IDs that should depend on this task. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.addDependents = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/addDependents', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Unlinks a set of dependencies from this task. + * @param {String} task The task to remove dependencies from. + * @param {Object} data Data for the request + * @param {Array} data.dependencies An array of task IDs to remove as dependencies. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.removeDependencies = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/removeDependencies', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Unlinks a set of dependents from this task. + * @param {String} task The task to remove dependents from. + * @param {Object} data Data for the request + * @param {Array} data.dependents An array of task IDs to remove as dependents. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.removeDependents = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/removeDependents', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Adds each of the specified followers to the task, if they are not already + * following. Returns the complete, updated record for the affected task. + * @param {String} task The task to add followers to. + * @param {Object} data Data for the request + * @param {Array} data.followers An array of followers to add to the task. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.addFollowers = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/addFollowers', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Removes each of the specified followers from the task if they are + * following. Returns the complete, updated record for the affected task. + * @param {String} task The task to remove followers from. + * @param {Object} data Data for the request + * @param {Array} data.followers An array of followers to remove from the task. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.removeFollowers = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/removeFollowers', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns a compact representation of all of the projects the task is in. + * @param {String} task The task to get projects on. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.projects = function( + task, + params, + dispatchOptions +) { + var path = util.format('/tasks/%s/projects', task); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Adds the task to the specified project, in the optional location + * specified. If no location arguments are given, the task will be added to + * the end of the project. + * + * `addProject` can also be used to reorder a task within a project or section that + * already contains it. + * + * At most one of `insert_before`, `insert_after`, or `section` should be + * specified. Inserting into a section in an non-order-dependent way can be + * done by specifying `section`, otherwise, to insert within a section in a + * particular place, specify `insert_before` or `insert_after` and a task + * within the section to anchor the position of this task. + * + * Returns an empty data block. + * @param {String} task The task to add to a project. + * @param {Object} data Data for the request + * @param {String} data.project The project to add the task to. + * @param {String} [data.insert_after] A task in the project to insert the task after, or `null` to + * insert at the beginning of the list. + * @param {String} [data.insert_before] A task in the project to insert the task before, or `null` to + * insert at the end of the list. + * @param {String} [data.section] A section in the project to insert the task into. The task will be + * inserted at the bottom of the section. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.addProject = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/addProject', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Removes the task from the specified project. The task will still exist + * in the system, but it will not be in the project anymore. + * + * Returns an empty data block. + * @param {String} task The task to remove from a project. + * @param {Object} data Data for the request + * @param {String} data.project The project to remove the task from. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.removeProject = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/removeProject', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns a compact representation of all of the tags the task has. + * @param {String} task The task to get tags on. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.tags = function( + task, + params, + dispatchOptions +) { + var path = util.format('/tasks/%s/tags', task); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Adds a tag to a task. Returns an empty data block. + * @param {String} task The task to add a tag to. + * @param {Object} data Data for the request + * @param {String} data.tag The tag to add to the task. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.addTag = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/addTag', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Removes a tag from the task. Returns an empty data block. + * @param {String} task The task to remove a tag from. + * @param {Object} data Data for the request + * @param {String} data.tag The tag to remove from the task. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.removeTag = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/removeTag', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns a compact representation of all of the subtasks of a task. + * @param {String} task The task to get the subtasks of. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.subtasks = function( + task, + params, + dispatchOptions +) { + var path = util.format('/tasks/%s/subtasks', task); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Creates a new subtask and adds it to the parent task. Returns the full record + * for the newly created subtask. + * @param {String} task The task to add a subtask to. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.addSubtask = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/subtasks', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns a compact representation of all of the stories on the task. + * @param {String} task The task containing the stories to get. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.stories = function( + task, + params, + dispatchOptions +) { + var path = util.format('/tasks/%s/stories', task); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Adds a comment to a task. The comment will be authored by the + * currently authenticated user, and timestamped when the server receives + * the request. + * + * Returns the full record for the new story added to the task. + * @param {String} task Globally unique identifier for the task. + * @param {Object} data Data for the request + * @param {String} data.text The plain text of the comment to add. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.addComment = function( + task, + data, + dispatchOptions +) { + var path = util.format('/tasks/%s/stories', task); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Insert or reorder tasks in a user's My Tasks list. If the task was not + * assigned to the owner of the user task list it will be reassigned when + * this endpoint is called. If neither `insert_before` nor `insert_after` + * are provided the task will be inserted at the top of the assignee's + * inbox. + * + * Returns an empty data block. + * @param {String} user_task_list Globally unique identifier for the user task list. + * @param {Object} data Data for the request + * @param {String} data.task Globally unique identifier for the task. + * @param {String} [data.insert_before] Insert the task before the task specified by this field. The inserted + * task will inherit the `assignee_status` of this task. `insert_before` + * and `insert_after` parameters cannot both be specified. + * @param {String} [data.insert_after] Insert the task after the task specified by this field. The inserted + * task will inherit the `assignee_status` of this task. `insert_before` + * and `insert_after` parameters cannot both be specified. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Tasks.prototype.insertInUserTaskList = function( + userTaskList, + data, + dispatchOptions +) { + var path = util.format('/user_task_lists/%s/tasks/insert', userTaskList); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * This is for compatibility reasons. Please use searchInWorkspace. + */ +Tasks.prototype.search = Tasks.prototype.searchInWorkspace; + +/* jshint ignore:end */ +module.exports = Tasks; + + +/***/ }), + +/***/ 50097: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Teams = __nccwpck_require__(91532); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns the full record for a single team. + * @param {String} team Globally unique identifier for the team. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Teams.prototype.findById = function( + team, + params, + dispatchOptions +) { + var path = util.format('/teams/%s', team); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns the compact records for all teams in the organization visible to + * the authorized user. + * @param {String} organization Globally unique identifier for the workspace or organization. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Teams.prototype.findByOrganization = function( + organization, + params, + dispatchOptions +) { + var path = util.format('/organizations/%s/teams', organization); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact records for all teams to which user is assigned. + * @param {String} user An identifier for the user. Can be one of an email address, + * the globally unique identifier for the user, or the keyword `me` + * to indicate the current user making the request. + * @param {Object} [params] Parameters for the request + * @param {String} [params.organization] The workspace or organization to filter teams on. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Teams.prototype.findByUser = function( + user, + params, + dispatchOptions +) { + var path = util.format('/users/%s/teams', user); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the compact records for all users that are members of the team. + * @param {String} team Globally unique identifier for the team. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Teams.prototype.users = function( + team, + params, + dispatchOptions +) { + var path = util.format('/teams/%s/users', team); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * The user making this call must be a member of the team in order to add others. + * The user to add must exist in the same organization as the team in order to be added. + * The user to add can be referenced by their globally unique user ID or their email address. + * Returns the full user record for the added user. + * @param {String} team Globally unique identifier for the team. + * @param {Object} data Data for the request + * @param {String} data.user An identifier for the user. Can be one of an email address, + * the globally unique identifier for the user, or the keyword `me` + * to indicate the current user making the request. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Teams.prototype.addUser = function( + team, + data, + dispatchOptions +) { + var path = util.format('/teams/%s/addUser', team); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * The user to remove can be referenced by their globally unique user ID or their email address. + * Removes the user from the specified team. Returns an empty data record. + * @param {String} team Globally unique identifier for the team. + * @param {Object} data Data for the request + * @param {String} data.user An identifier for the user. Can be one of an email address, + * the globally unique identifier for the user, or the keyword `me` + * to indicate the current user making the request. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Teams.prototype.removeUser = function( + team, + data, + dispatchOptions +) { + var path = util.format('/teams/%s/removeUser', team); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = Teams; + + +/***/ }), + +/***/ 83599: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var TimePeriods = __nccwpck_require__(94592); + +module.exports = TimePeriods; + + +/***/ }), + +/***/ 95871: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var TimeTrackingEntries = __nccwpck_require__(84250); + +module.exports = TimeTrackingEntries; + + +/***/ }), + +/***/ 88826: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Typeahead = __nccwpck_require__(4979); + +module.exports = Typeahead; + + +/***/ }), + +/***/ 32375: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var UserTaskLists = __nccwpck_require__(90841); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns the full record for the user task list for the given user + * @param {String} user An identifier for the user. Can be one of an email address, + * the globally unique identifier for the user, or the keyword `me` + * to indicate the current user making the request. + * @param {Object} [params] Parameters for the request + * @param {String} params.workspace Globally unique identifier for the workspace or organization. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +UserTaskLists.prototype.findByUser = function( + user, + params, + dispatchOptions +) { + var path = util.format('/users/%s/user_task_list', user); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns the full record for a user task list. + * @param {String} userTaskList Globally unique identifier for the user task list. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +UserTaskLists.prototype.findById = function( + userTaskList, + params, + dispatchOptions +) { + var path = util.format('/user_task_lists/%s', userTaskList); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns the compact list of tasks in a user's My Tasks list. The returned + * tasks will be in order within each assignee status group of `Inbox`, + * `Today`, and `Upcoming`. + * + * **Note:** tasks in `Later` have a different ordering in the Asana web app + * than the other assignee status groups; this endpoint will still return + * them in list order in `Later` (differently than they show up in Asana, + * but the same order as in Asana's mobile apps). + * + * **Note:** Access control is enforced for this endpoint as with all Asana + * API endpoints, meaning a user's private tasks will be filtered out if the + * API-authenticated user does not have access to them. + * + * **Note:** Both complete and incomplete tasks are returned by default + * unless they are filtered out (for example, setting `completed_since=now` + * will return only incomplete tasks, which is the default view for "My + * Tasks" in Asana.) + * @param {String} userTaskList The user task list in which to search for tasks. + * @param {Object} [params] Parameters for the request + * @param {String} [params.completed_since] Only return tasks that are either incomplete or that have been + * completed since this time. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +UserTaskLists.prototype.tasks = function( + userTaskList, + params, + dispatchOptions +) { + var path = util.format('/user_task_lists/%s/tasks', userTaskList); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = UserTaskLists; + + +/***/ }), + +/***/ 93807: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Users = __nccwpck_require__(89886); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns the full user record for the currently authenticated user. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Users.prototype.me = function( + params, + dispatchOptions +) { + var path = util.format('/users/me'); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns the full user record for the single user with the provided ID. + * @param {String} user An identifier for the user. Can be one of an email address, + * the globally unique identifier for the user, or the keyword `me` + * to indicate the current user making the request. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Users.prototype.findById = function( + user, + params, + dispatchOptions +) { + var path = util.format('/users/%s', user); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns all of a user's favorites in the given workspace, of the given type. + * Results are given in order (The same order as Asana's sidebar). + * @param {String} user An identifier for the user. Can be one of an email address, + * the globally unique identifier for the user, or the keyword `me` + * to indicate the current user making the request. + * @param {Object} [params] Parameters for the request + * @param {String} params.workspace The workspace in which to get favorites. + * @param {String} params.resource_type The resource type of favorites to be returned. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Users.prototype.getUserFavorites = function( + user, + params, + dispatchOptions +) { + var path = util.format('/users/%s/favorites', user); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the user records for all users in the specified workspace or + * organization. + * @param {String} workspace The workspace in which to get users. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Users.prototype.findByWorkspace = function( + workspace, + params, + dispatchOptions +) { + var path = util.format('/workspaces/%s/users', workspace); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the user records for all users in all workspaces and organizations + * accessible to the authenticated user. Accepts an optional workspace ID + * parameter. + * @param {Object} [params] Parameters for the request + * @param {String} [params.workspace] The workspace or organization to filter users on. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Users.prototype.findAll = function( + params, + dispatchOptions +) { + var path = util.format('/users'); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = Users; + + +/***/ }), + +/***/ 56873: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Webhooks = __nccwpck_require__(60594); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); +var _ = __nccwpck_require__(39815); + +/** + * Establishing a webhook is a two-part process. First, a simple HTTP POST + * similar to any other resource creation. Since you could have multiple + * webhooks we recommend specifying a unique local id for each target. + * + * Next comes the confirmation handshake. When a webhook is created, we will + * send a test POST to the `target` with an `X-Hook-Secret` header as + * described in the + * [Resthooks Security documentation](http://resthooks.org/docs/security/). + * The target must respond with a `200 OK` and a matching `X-Hook-Secret` + * header to confirm that this webhook subscription is indeed expected. + * + * If you do not acknowledge the webhook's confirmation handshake it will + * fail to setup, and you will receive an error in response to your attempt + * to create it. This means you need to be able to receive and complete the + * webhook *while* the POST request is in-flight. + * @param {String} resource A resource ID to subscribe to. The resource can be a task or project. + * @param {String} target The URL to receive the HTTP POST. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Webhooks.prototype.create = function( + resource, + target, + data, + dispatchOptions +) { + var path = util.format('/webhooks'); + + data = _.extend({}, data || {}, { + resource: resource, + target: target + }); + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * Returns the compact representation of all webhooks your app has + * registered for the authenticated user in the given workspace. + * @param {String} workspace The workspace to query for webhooks in. + * @param {Object} [params] Parameters for the request + * @param {String} [params.resource] Only return webhooks for the given resource. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Webhooks.prototype.getAll = function( + workspace, + params, + dispatchOptions +) { + var path = util.format('/webhooks'); + + params = _.extend({}, params || {}, { + workspace: workspace + }); + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * Returns the full record for the given webhook. + * @param {String} webhook The webhook to get. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Webhooks.prototype.getById = function( + webhook, + params, + dispatchOptions +) { + var path = util.format('/webhooks/%s', webhook); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * This method permanently removes a webhook. Note that it may be possible + * to receive a request that was already in flight after deleting the + * webhook, but no further requests will be issued. + * @param {String} webhook The webhook to delete. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Webhooks.prototype.deleteById = function( + webhook, + dispatchOptions +) { + var path = util.format('/webhooks/%s', webhook); + + return this.dispatchDelete(path, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = Webhooks; + + +/***/ }), + +/***/ 24016: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var WorkspaceMemberships = __nccwpck_require__(56373); + +module.exports = WorkspaceMemberships; + + +/***/ }), + +/***/ 73373: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Workspaces = __nccwpck_require__(10518); +/* jshint ignore:start */ +var util = __nccwpck_require__(39023); + +/** + * Returns the full workspace record for a single workspace. + * @param {String} workspace Globally unique identifier for the workspace or organization. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The requested resource + */ +Workspaces.prototype.findById = function( + workspace, + params, + dispatchOptions +) { + var path = util.format('/workspaces/%s', workspace); + + return this.dispatchGet(path, params, dispatchOptions); +}; + +/** + * Returns the compact records for all workspaces visible to the authorized user. + * @param {Object} [params] Parameters for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Workspaces.prototype.findAll = function( + params, + dispatchOptions +) { + var path = util.format('/workspaces'); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * A specific, existing workspace can be updated by making a PUT request on + * the URL for that workspace. Only the fields provided in the data block + * will be updated; any unspecified fields will remain unchanged. + * + * Currently the only field that can be modified for a workspace is its `name`. + * + * Returns the complete, updated workspace record. + * @param {String} workspace The workspace to update. + * @param {Object} data Data for the request + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Workspaces.prototype.update = function( + workspace, + data, + dispatchOptions +) { + var path = util.format('/workspaces/%s', workspace); + + return this.dispatchPut(path, data, dispatchOptions); +}; + +/** + * Retrieves objects in the workspace based on an auto-completion/typeahead + * search algorithm. This feature is meant to provide results quickly, so do + * not rely on this API to provide extremely accurate search results. The + * result set is limited to a single page of results with a maximum size, + * so you won't be able to fetch large numbers of results. + * @param {String} workspace The workspace to fetch objects from. + * @param {Object} [params] Parameters for the request + * @param {String} params.resource_type The type of values the typeahead should return. You can choose from + * one of the following: custom_field, project, tag, task, and user. + * Note that unlike in the names of endpoints, the types listed here are + * in singular form (e.g. `task`). Using multiple types is not yet supported. + * @param {String} [params.type] **Deprecated: new integrations should prefer the resource_type field.** + * @param {String} [params.query] The string that will be used to search for relevant objects. If an + * empty string is passed in, the API will currently return an empty + * result set. + * @param {Number} [params.count] The number of results to return. The default is `20` if this + * parameter is omitted, with a minimum of `1` and a maximum of `100`. + * If there are fewer results found than requested, all will be returned. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Workspaces.prototype.typeahead = function( + workspace, + params, + dispatchOptions +) { + var path = util.format('/workspaces/%s/typeahead', workspace); + + return this.dispatchGetCollection(path, params, dispatchOptions); +}; + +/** + * The user can be referenced by their globally unique user ID or their email address. + * Returns the full user record for the invited user. + * @param {String} workspace The workspace or organization to invite the user to. + * @param {Object} data Data for the request + * @param {String} data.user An identifier for the user. Can be one of an email address, + * the globally unique identifier for the user, or the keyword `me` + * to indicate the current user making the request. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Workspaces.prototype.addUser = function( + workspace, + data, + dispatchOptions +) { + var path = util.format('/workspaces/%s/addUser', workspace); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/** + * The user making this call must be an admin in the workspace. + * Returns an empty data record. + * @param {String} workspace The workspace or organization to invite the user to. + * @param {Object} data Data for the request + * @param {String} data.user An identifier for the user. Can be one of an email address, + * the globally unique identifier for the user, or the keyword `me` + * to indicate the current user making the request. + * @param {Object} [dispatchOptions] Options, if any, to pass the dispatcher for the request + * @return {Promise} The response from the API + */ +Workspaces.prototype.removeUser = function( + workspace, + data, + dispatchOptions +) { + var path = util.format('/workspaces/%s/removeUser', workspace); + + return this.dispatchPost(path, data, dispatchOptions); +}; + +/* jshint ignore:end */ +module.exports = Workspaces; + + +/***/ }), + +/***/ 20250: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Readable = (__nccwpck_require__(2203).Readable); +var util = __nccwpck_require__(39023); + +/** + * Creates a readable stream that contains a buffer in case downstream + * pushes back. This is useful for streams that are populated by "expensive" + * requests that return batches of data, because it provides signal (via the + * `_pushUnbuffered` call) as to whether it is buffering. + * + * This is preferable to just piping to some kind of buffering stream, + * because we want to be aware of whether or not we are buffered downstream, + * to avoid making requests from upstream until necessary. If we piped to a + * pure buffering stream it would only make sense for its `push` call to signal + * whether the buffer was full, which is not helpful for our use case. + * + * Instances must override `_readUnbuffered` instead of `_read`, and call + * `pushBuffered` instead of `push`. + * + * @param {Object} options Options for `Readable`. + * @constructor + */ +function BufferedReadable(options) { + Readable.call(this, options); + this._buffer = []; +} + +util.inherits(BufferedReadable, Readable); + +BufferedReadable.prototype._read = function() { + // Drain buffer. + if (this._buffer.length > 0) { + for (var i = 0; i < this._buffer.length; i++) { + if (!this.push(this._buffer[i])) { + this._buffer = this._buffer.slice(i + 1); + return; + } + } + this._buffer = []; + } + // Fill the buffer + this._readUnbuffered(); +}; + +BufferedReadable.prototype.pushBuffered = function(object) { + var buffering = this._buffer.length > 0; + if (!buffering && !this.push(object)) { + buffering = true; + } + if (buffering) { + this._buffer.push(object); + } + return !buffering; +}; + +BufferedReadable.prototype._readUnbuffered = function() { + throw new Error('not implemented'); +}; + +module.exports = BufferedReadable; + + +/***/ }), + +/***/ 5804: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Bluebird = __nccwpck_require__(16807); +var ResourceStream = __nccwpck_require__(30843); + +/* + * @type {Number} Maximum number of items in a collection this library will + * ever return. This is currently way higher than the practical limit + * of items one can expect to get from the API. + */ +var MAX_COLLECTION_SIZE = 100000; + +/** + * Create a Collection object from a response containing a list of resources. + * + * @param {Object} response Full payload from a response to a + * collection request. + * @param {Dispatcher} dispatcher + * @param {Object} [dispatchOptions] + * @returns {Object} Collection + */ + +function Collection(response, dispatcher, dispatchOptions) { + if (!Collection.isCollectionResponse(response)) { + throw new Error( + 'Cannot create Collection from response that does not have resources'); + } + + this.data = response.data; + this._response = response; + this._dispatcher = dispatcher; + this._dispatchOptions = dispatchOptions; +} + +/** + * Transforms a Promise of a raw response into a Promise for a Collection. + * + * @param {Promise} promise + * @param {Dispatcher} dispatcher + * @param {Object} [dispatchOptions] + * @returns {Promise} + */ +Collection.fromDispatch = function(promise, dispatcher, dispatchOptions) { + return promise.then(function(response) { + return new Collection(response, dispatcher, dispatchOptions); + }); +}; + +/** + * @param response {Object} Response that a request promise resolved to + * @returns {boolean} True iff the response is a collection (possibly empty) + */ +Collection.isCollectionResponse = function(response) { + return typeof(response) === 'object' && + typeof(response.data) === 'object' && + typeof(response.data.length) === 'number'; +}; + + +/** + * Return a stream for all the remaining elements in the collection. It will + * automatically fetch more pages as needed. + * @return {ResourceStream} + */ +Collection.prototype.stream = function() { + return new ResourceStream(this); +}; + + +/** + * Get the next page of results in a collection. + * + * @returns {Promise} Resolves to either a collection representing + * the next page of results, or null if no more pages. + */ +Collection.prototype.nextPage = function() { + /* jshint camelcase:false */ + var me = this; + var next = me._response.next_page; + if (typeof(next) === 'object' && next !== null) { + var url = next.uri; + return Collection.fromDispatch( + me._dispatcher.dispatch({ + method: 'GET', + url: url, + json: true + }, me._dispatchOptions), + me._dispatcher, + me._dispatchOptions); + } else { + // No more results. + return Bluebird.resolve(null); + } +}; + + +/** + * Get remaining results from a collection request, transparently + * paginating until pages exhausted or until `maxItems` items collected. + * + * @param {Number} [maxItems] Maximum number of items to return. + * @returns {Promise} Resolves to the entire set of results for the collection + * request. + */ +Collection.prototype.fetch = function(maxItems) { + var me = this; + maxItems = maxItems || MAX_COLLECTION_SIZE; + return new Bluebird(function(resolve, reject) { + // We will build up these results in pages. + var results = []; + + function fetch(collection) { + if (collection === null) { + // Reached end of pages. + resolve(results); + } else { + // Add collected data to results + [].push.apply(results, collection.data); + if (results.length >= maxItems) { + // We have enough - ensure the returned collection is limited by the + // given size, and resolve. + results = results.slice(0, maxItems); + resolve(results); + } else { + // We need more - try to get another page. + collection.nextPage().then(fetch).catch(reject); + } + } + } + + fetch(me); + }); +}; + +module.exports = Collection; + + +/***/ }), + +/***/ 44337: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var BufferedReadable = __nccwpck_require__(20250); +var util = __nccwpck_require__(39023); + +function EventStream(events, resourceId, options) { + BufferedReadable.call(this, { + objectMode: true + }); + this.resourceId = resourceId; + this.events = events; + this.syncToken = null; + this.options = options || {}; + this.options.periodSeconds = this.options.periodSeconds || 5; + this._lastPollTime = 0; + this._polling = false; +} + +util.inherits(EventStream, BufferedReadable); + +EventStream.prototype._readUnbuffered = function() { + // Poll if we're not already. + if (!this._polling) { + this._schedule(); + } +}; + +EventStream.prototype._schedule = function() { + var me = this; + if (me._lastPollTime === 0) { + // First time reading - just do it. + me._poll(); + } else { + // Schedule a poll for some time in the future based on when we last + // polled. + var now = Date.now(); + var delay = Math.max( + 0, me.options.periodSeconds * 1000 - (now - me._lastPollTime)); + setTimeout(function() { + me._poll(); + }, delay); + } +}; + +EventStream.prototype._poll = function() { + var me = this; + me._polling = true; + + me._lastPollTime = Date.now(); + me.events.get(me.resourceId, me.syncToken).then(function(response) { + // Successful request (though may lack actual data) + // Store off new sync token. + me.syncToken = response.sync; + var available = true; + if (response.data && response.data.length > 0) { + // Response contained actual events! Push them to the stream, or + // buffer them if the stream doesn't want any more. + response.data.forEach(function(event) { + available = available && me.pushBuffered(event); + }); + } + if (available) { + me._schedule(); + } + }).catch(function(error) { + // Failure - emit error. If we survive then the error was "handled" + // and we'll continue to fetch events. + me.emit('error', error); + me._schedule(); + }); +}; + +module.exports = EventStream; + +/***/ }), + +/***/ 30843: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var BufferedReadable = __nccwpck_require__(20250); +var util = __nccwpck_require__(39023); + +/** + * A ResourceStream is a Node stream implementation for objects that are + * fetched from the API. Basically, any Collection of resources from the + * API can be wrapped in this stream, and the stream will fetch new pages + * of items as needed. + * + * @param {Collection} collection Response from initial collection request. + * @constructor + */ + +function ResourceStream(collection) { + var me = this; + BufferedReadable.call(me, { + objectMode: true + }); + + // @type {Collection} The collection whose data was last pushed into the + // stream, such that if we have to go back for more, we should fetch + // its `nextPage`. + me._collection = collection; + + // @type {boolean} True iff a request for more items is in flight. + me._fetching = false; + + // Ensure the initial collection's data is in the stream. + me._pushCollection(); +} + +util.inherits(ResourceStream, BufferedReadable); + +ResourceStream.prototype._pushCollection = function() { + var me = this; + me._collection.data.forEach(function(resource) { + me.pushBuffered(resource); + }); +}; + +ResourceStream.prototype._readUnbuffered = function() { + /* jshint camelcase:false */ + var me = this; + + if (!me._collection) { + // No more resources to get. + me.pushBuffered(null); + return; + } + + // Avoid fetching more than the next page, in case a `_read` comes in + // while we are still waiting for results. + if (me._fetching) { + return; + } + me._fetching = true; + + function updateStream(collection) { + me._fetching = false; + if (!collection) { + // No more pages + me.pushBuffered(null); + } else { + me._collection = collection; + me._pushCollection(); + } + } + + function handleError(error) { + // Failure - emit error. + me._fetching = false; + me._collection = null; + me.emit('error', error); + } + + // When response comes back, we will push to stream. + me._collection.nextPage().then(updateStream).catch(handleError); +}; + +module.exports = ResourceStream; + +/***/ }), + +/***/ 35107: +/***/ ((module) => { + +// Copyright 2011 Mark Cavage All rights reserved. + + +module.exports = { + + newInvalidAsn1Error: function (msg) { + var e = new Error(); + e.name = 'InvalidAsn1Error'; + e.message = msg || ''; + return e; + } + +}; + + +/***/ }), + +/***/ 51710: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright 2011 Mark Cavage All rights reserved. + +var errors = __nccwpck_require__(35107); +var types = __nccwpck_require__(54291); + +var Reader = __nccwpck_require__(73567); +var Writer = __nccwpck_require__(93951); + + +// --- Exports + +module.exports = { + + Reader: Reader, + + Writer: Writer + +}; + +for (var t in types) { + if (types.hasOwnProperty(t)) + module.exports[t] = types[t]; +} +for (var e in errors) { + if (errors.hasOwnProperty(e)) + module.exports[e] = errors[e]; +} + + +/***/ }), + +/***/ 73567: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright 2011 Mark Cavage All rights reserved. + +var assert = __nccwpck_require__(42613); +var Buffer = (__nccwpck_require__(36430).Buffer); + +var ASN1 = __nccwpck_require__(54291); +var errors = __nccwpck_require__(35107); + + +// --- Globals + +var newInvalidAsn1Error = errors.newInvalidAsn1Error; + + + +// --- API + +function Reader(data) { + if (!data || !Buffer.isBuffer(data)) + throw new TypeError('data must be a node Buffer'); + + this._buf = data; + this._size = data.length; + + // These hold the "current" state + this._len = 0; + this._offset = 0; +} + +Object.defineProperty(Reader.prototype, 'length', { + enumerable: true, + get: function () { return (this._len); } +}); + +Object.defineProperty(Reader.prototype, 'offset', { + enumerable: true, + get: function () { return (this._offset); } +}); + +Object.defineProperty(Reader.prototype, 'remain', { + get: function () { return (this._size - this._offset); } +}); + +Object.defineProperty(Reader.prototype, 'buffer', { + get: function () { return (this._buf.slice(this._offset)); } +}); + + +/** + * Reads a single byte and advances offset; you can pass in `true` to make this + * a "peek" operation (i.e., get the byte, but don't advance the offset). + * + * @param {Boolean} peek true means don't move offset. + * @return {Number} the next byte, null if not enough data. + */ +Reader.prototype.readByte = function (peek) { + if (this._size - this._offset < 1) + return null; + + var b = this._buf[this._offset] & 0xff; + + if (!peek) + this._offset += 1; + + return b; +}; + + +Reader.prototype.peek = function () { + return this.readByte(true); +}; + + +/** + * Reads a (potentially) variable length off the BER buffer. This call is + * not really meant to be called directly, as callers have to manipulate + * the internal buffer afterwards. + * + * As a result of this call, you can call `Reader.length`, until the + * next thing called that does a readLength. + * + * @return {Number} the amount of offset to advance the buffer. + * @throws {InvalidAsn1Error} on bad ASN.1 + */ +Reader.prototype.readLength = function (offset) { + if (offset === undefined) + offset = this._offset; + + if (offset >= this._size) + return null; + + var lenB = this._buf[offset++] & 0xff; + if (lenB === null) + return null; + + if ((lenB & 0x80) === 0x80) { + lenB &= 0x7f; + + if (lenB === 0) + throw newInvalidAsn1Error('Indefinite length not supported'); + + if (lenB > 4) + throw newInvalidAsn1Error('encoding too long'); + + if (this._size - offset < lenB) + return null; + + this._len = 0; + for (var i = 0; i < lenB; i++) + this._len = (this._len << 8) + (this._buf[offset++] & 0xff); + + } else { + // Wasn't a variable length + this._len = lenB; + } + + return offset; +}; + + +/** + * Parses the next sequence in this BER buffer. + * + * To get the length of the sequence, call `Reader.length`. + * + * @return {Number} the sequence's tag. + */ +Reader.prototype.readSequence = function (tag) { + var seq = this.peek(); + if (seq === null) + return null; + if (tag !== undefined && tag !== seq) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + seq.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + if (o === null) + return null; + + this._offset = o; + return seq; +}; + + +Reader.prototype.readInt = function () { + return this._readTag(ASN1.Integer); +}; + + +Reader.prototype.readBoolean = function () { + return (this._readTag(ASN1.Boolean) === 0 ? false : true); +}; + + +Reader.prototype.readEnumeration = function () { + return this._readTag(ASN1.Enumeration); +}; + + +Reader.prototype.readString = function (tag, retbuf) { + if (!tag) + tag = ASN1.OctetString; + + var b = this.peek(); + if (b === null) + return null; + + if (b !== tag) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + b.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + + if (o === null) + return null; + + if (this.length > this._size - o) + return null; + + this._offset = o; + + if (this.length === 0) + return retbuf ? Buffer.alloc(0) : ''; + + var str = this._buf.slice(this._offset, this._offset + this.length); + this._offset += this.length; + + return retbuf ? str : str.toString('utf8'); +}; + +Reader.prototype.readOID = function (tag) { + if (!tag) + tag = ASN1.OID; + + var b = this.readString(tag, true); + if (b === null) + return null; + + var values = []; + var value = 0; + + for (var i = 0; i < b.length; i++) { + var byte = b[i] & 0xff; + + value <<= 7; + value += byte & 0x7f; + if ((byte & 0x80) === 0) { + values.push(value); + value = 0; + } + } + + value = values.shift(); + values.unshift(value % 40); + values.unshift((value / 40) >> 0); + + return values.join('.'); +}; + + +Reader.prototype._readTag = function (tag) { + assert.ok(tag !== undefined); + + var b = this.peek(); + + if (b === null) + return null; + + if (b !== tag) + throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + + ': got 0x' + b.toString(16)); + + var o = this.readLength(this._offset + 1); // stored in `length` + if (o === null) + return null; + + if (this.length > 4) + throw newInvalidAsn1Error('Integer too long: ' + this.length); + + if (this.length > this._size - o) + return null; + this._offset = o; + + var fb = this._buf[this._offset]; + var value = 0; + + for (var i = 0; i < this.length; i++) { + value <<= 8; + value |= (this._buf[this._offset++] & 0xff); + } + + if ((fb & 0x80) === 0x80 && i !== 4) + value -= (1 << (i * 8)); + + return value >> 0; +}; + + + +// --- Exported API + +module.exports = Reader; + + +/***/ }), + +/***/ 54291: +/***/ ((module) => { + +// Copyright 2011 Mark Cavage All rights reserved. + + +module.exports = { + EOC: 0, + Boolean: 1, + Integer: 2, + BitString: 3, + OctetString: 4, + Null: 5, + OID: 6, + ObjectDescriptor: 7, + External: 8, + Real: 9, // float + Enumeration: 10, + PDV: 11, + Utf8String: 12, + RelativeOID: 13, + Sequence: 16, + Set: 17, + NumericString: 18, + PrintableString: 19, + T61String: 20, + VideotexString: 21, + IA5String: 22, + UTCTime: 23, + GeneralizedTime: 24, + GraphicString: 25, + VisibleString: 26, + GeneralString: 28, + UniversalString: 29, + CharacterString: 30, + BMPString: 31, + Constructor: 32, + Context: 128 +}; + + +/***/ }), + +/***/ 93951: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright 2011 Mark Cavage All rights reserved. + +var assert = __nccwpck_require__(42613); +var Buffer = (__nccwpck_require__(36430).Buffer); +var ASN1 = __nccwpck_require__(54291); +var errors = __nccwpck_require__(35107); + + +// --- Globals + +var newInvalidAsn1Error = errors.newInvalidAsn1Error; + +var DEFAULT_OPTS = { + size: 1024, + growthFactor: 8 +}; + + +// --- Helpers + +function merge(from, to) { + assert.ok(from); + assert.equal(typeof (from), 'object'); + assert.ok(to); + assert.equal(typeof (to), 'object'); + + var keys = Object.getOwnPropertyNames(from); + keys.forEach(function (key) { + if (to[key]) + return; + + var value = Object.getOwnPropertyDescriptor(from, key); + Object.defineProperty(to, key, value); + }); + + return to; +} + + + +// --- API + +function Writer(options) { + options = merge(DEFAULT_OPTS, options || {}); + + this._buf = Buffer.alloc(options.size || 1024); + this._size = this._buf.length; + this._offset = 0; + this._options = options; + + // A list of offsets in the buffer where we need to insert + // sequence tag/len pairs. + this._seq = []; +} + +Object.defineProperty(Writer.prototype, 'buffer', { + get: function () { + if (this._seq.length) + throw newInvalidAsn1Error(this._seq.length + ' unended sequence(s)'); + + return (this._buf.slice(0, this._offset)); + } +}); + +Writer.prototype.writeByte = function (b) { + if (typeof (b) !== 'number') + throw new TypeError('argument must be a Number'); + + this._ensure(1); + this._buf[this._offset++] = b; +}; + + +Writer.prototype.writeInt = function (i, tag) { + if (typeof (i) !== 'number') + throw new TypeError('argument must be a Number'); + if (typeof (tag) !== 'number') + tag = ASN1.Integer; + + var sz = 4; + + while ((((i & 0xff800000) === 0) || ((i & 0xff800000) === 0xff800000 >> 0)) && + (sz > 1)) { + sz--; + i <<= 8; + } + + if (sz > 4) + throw newInvalidAsn1Error('BER ints cannot be > 0xffffffff'); + + this._ensure(2 + sz); + this._buf[this._offset++] = tag; + this._buf[this._offset++] = sz; + + while (sz-- > 0) { + this._buf[this._offset++] = ((i & 0xff000000) >>> 24); + i <<= 8; + } + +}; + + +Writer.prototype.writeNull = function () { + this.writeByte(ASN1.Null); + this.writeByte(0x00); +}; + + +Writer.prototype.writeEnumeration = function (i, tag) { + if (typeof (i) !== 'number') + throw new TypeError('argument must be a Number'); + if (typeof (tag) !== 'number') + tag = ASN1.Enumeration; + + return this.writeInt(i, tag); +}; + + +Writer.prototype.writeBoolean = function (b, tag) { + if (typeof (b) !== 'boolean') + throw new TypeError('argument must be a Boolean'); + if (typeof (tag) !== 'number') + tag = ASN1.Boolean; + + this._ensure(3); + this._buf[this._offset++] = tag; + this._buf[this._offset++] = 0x01; + this._buf[this._offset++] = b ? 0xff : 0x00; +}; + + +Writer.prototype.writeString = function (s, tag) { + if (typeof (s) !== 'string') + throw new TypeError('argument must be a string (was: ' + typeof (s) + ')'); + if (typeof (tag) !== 'number') + tag = ASN1.OctetString; + + var len = Buffer.byteLength(s); + this.writeByte(tag); + this.writeLength(len); + if (len) { + this._ensure(len); + this._buf.write(s, this._offset); + this._offset += len; + } +}; + + +Writer.prototype.writeBuffer = function (buf, tag) { + if (typeof (tag) !== 'number') + throw new TypeError('tag must be a number'); + if (!Buffer.isBuffer(buf)) + throw new TypeError('argument must be a buffer'); + + this.writeByte(tag); + this.writeLength(buf.length); + this._ensure(buf.length); + buf.copy(this._buf, this._offset, 0, buf.length); + this._offset += buf.length; +}; + + +Writer.prototype.writeStringArray = function (strings) { + if ((!strings instanceof Array)) + throw new TypeError('argument must be an Array[String]'); + + var self = this; + strings.forEach(function (s) { + self.writeString(s); + }); +}; + +// This is really to solve DER cases, but whatever for now +Writer.prototype.writeOID = function (s, tag) { + if (typeof (s) !== 'string') + throw new TypeError('argument must be a string'); + if (typeof (tag) !== 'number') + tag = ASN1.OID; + + if (!/^([0-9]+\.){3,}[0-9]+$/.test(s)) + throw new Error('argument is not a valid OID string'); + + function encodeOctet(bytes, octet) { + if (octet < 128) { + bytes.push(octet); + } else if (octet < 16384) { + bytes.push((octet >>> 7) | 0x80); + bytes.push(octet & 0x7F); + } else if (octet < 2097152) { + bytes.push((octet >>> 14) | 0x80); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } else if (octet < 268435456) { + bytes.push((octet >>> 21) | 0x80); + bytes.push(((octet >>> 14) | 0x80) & 0xFF); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } else { + bytes.push(((octet >>> 28) | 0x80) & 0xFF); + bytes.push(((octet >>> 21) | 0x80) & 0xFF); + bytes.push(((octet >>> 14) | 0x80) & 0xFF); + bytes.push(((octet >>> 7) | 0x80) & 0xFF); + bytes.push(octet & 0x7F); + } + } + + var tmp = s.split('.'); + var bytes = []; + bytes.push(parseInt(tmp[0], 10) * 40 + parseInt(tmp[1], 10)); + tmp.slice(2).forEach(function (b) { + encodeOctet(bytes, parseInt(b, 10)); + }); + + var self = this; + this._ensure(2 + bytes.length); + this.writeByte(tag); + this.writeLength(bytes.length); + bytes.forEach(function (b) { + self.writeByte(b); + }); +}; + + +Writer.prototype.writeLength = function (len) { + if (typeof (len) !== 'number') + throw new TypeError('argument must be a Number'); + + this._ensure(4); + + if (len <= 0x7f) { + this._buf[this._offset++] = len; + } else if (len <= 0xff) { + this._buf[this._offset++] = 0x81; + this._buf[this._offset++] = len; + } else if (len <= 0xffff) { + this._buf[this._offset++] = 0x82; + this._buf[this._offset++] = len >> 8; + this._buf[this._offset++] = len; + } else if (len <= 0xffffff) { + this._buf[this._offset++] = 0x83; + this._buf[this._offset++] = len >> 16; + this._buf[this._offset++] = len >> 8; + this._buf[this._offset++] = len; + } else { + throw newInvalidAsn1Error('Length too long (> 4 bytes)'); + } +}; + +Writer.prototype.startSequence = function (tag) { + if (typeof (tag) !== 'number') + tag = ASN1.Sequence | ASN1.Constructor; + + this.writeByte(tag); + this._seq.push(this._offset); + this._ensure(3); + this._offset += 3; +}; + + +Writer.prototype.endSequence = function () { + var seq = this._seq.pop(); + var start = seq + 3; + var len = this._offset - start; + + if (len <= 0x7f) { + this._shift(start, len, -2); + this._buf[seq] = len; + } else if (len <= 0xff) { + this._shift(start, len, -1); + this._buf[seq] = 0x81; + this._buf[seq + 1] = len; + } else if (len <= 0xffff) { + this._buf[seq] = 0x82; + this._buf[seq + 1] = len >> 8; + this._buf[seq + 2] = len; + } else if (len <= 0xffffff) { + this._shift(start, len, 1); + this._buf[seq] = 0x83; + this._buf[seq + 1] = len >> 16; + this._buf[seq + 2] = len >> 8; + this._buf[seq + 3] = len; + } else { + throw newInvalidAsn1Error('Sequence too long'); + } +}; + + +Writer.prototype._shift = function (start, len, shift) { + assert.ok(start !== undefined); + assert.ok(len !== undefined); + assert.ok(shift); + + this._buf.copy(this._buf, start + shift, start, start + len); + this._offset += shift; +}; + +Writer.prototype._ensure = function (len) { + assert.ok(len); + + if (this._size - this._offset < len) { + var sz = this._size * this._options.growthFactor; + if (sz - this._offset < len) + sz += len; + + var buf = Buffer.alloc(sz); + + this._buf.copy(buf, 0, 0, this._offset); + this._buf = buf; + this._size = sz; + } +}; + + + +// --- Exported API + +module.exports = Writer; + + +/***/ }), + +/***/ 19684: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright 2011 Mark Cavage All rights reserved. + +// If you have no idea what ASN.1 or BER is, see this: +// ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc + +var Ber = __nccwpck_require__(51710); + + + +// --- Exported API + +module.exports = { + + Ber: Ber, + + BerReader: Ber.Reader, + + BerWriter: Ber.Writer + +}; + + +/***/ }), + +/***/ 86750: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright (c) 2012, Mark Cavage. All rights reserved. +// Copyright 2015 Joyent, Inc. + +var assert = __nccwpck_require__(42613); +var Stream = (__nccwpck_require__(2203).Stream); +var util = __nccwpck_require__(39023); + + +///--- Globals + +/* JSSTYLED */ +var UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/; + + +///--- Internal + +function _capitalize(str) { + return (str.charAt(0).toUpperCase() + str.slice(1)); +} + +function _toss(name, expected, oper, arg, actual) { + throw new assert.AssertionError({ + message: util.format('%s (%s) is required', name, expected), + actual: (actual === undefined) ? typeof (arg) : actual(arg), + expected: expected, + operator: oper || '===', + stackStartFunction: _toss.caller + }); +} + +function _getClass(arg) { + return (Object.prototype.toString.call(arg).slice(8, -1)); +} + +function noop() { + // Why even bother with asserts? +} + + +///--- Exports + +var types = { + bool: { + check: function (arg) { return typeof (arg) === 'boolean'; } + }, + func: { + check: function (arg) { return typeof (arg) === 'function'; } + }, + string: { + check: function (arg) { return typeof (arg) === 'string'; } + }, + object: { + check: function (arg) { + return typeof (arg) === 'object' && arg !== null; + } + }, + number: { + check: function (arg) { + return typeof (arg) === 'number' && !isNaN(arg); + } + }, + finite: { + check: function (arg) { + return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg); + } + }, + buffer: { + check: function (arg) { return Buffer.isBuffer(arg); }, + operator: 'Buffer.isBuffer' + }, + array: { + check: function (arg) { return Array.isArray(arg); }, + operator: 'Array.isArray' + }, + stream: { + check: function (arg) { return arg instanceof Stream; }, + operator: 'instanceof', + actual: _getClass + }, + date: { + check: function (arg) { return arg instanceof Date; }, + operator: 'instanceof', + actual: _getClass + }, + regexp: { + check: function (arg) { return arg instanceof RegExp; }, + operator: 'instanceof', + actual: _getClass + }, + uuid: { + check: function (arg) { + return typeof (arg) === 'string' && UUID_REGEXP.test(arg); + }, + operator: 'isUUID' + } +}; + +function _setExports(ndebug) { + var keys = Object.keys(types); + var out; + + /* re-export standard assert */ + if (process.env.NODE_NDEBUG) { + out = noop; + } else { + out = function (arg, msg) { + if (!arg) { + _toss(msg, 'true', arg); + } + }; + } + + /* standard checks */ + keys.forEach(function (k) { + if (ndebug) { + out[k] = noop; + return; + } + var type = types[k]; + out[k] = function (arg, msg) { + if (!type.check(arg)) { + _toss(msg, k, type.operator, arg, type.actual); + } + }; + }); + + /* optional checks */ + keys.forEach(function (k) { + var name = 'optional' + _capitalize(k); + if (ndebug) { + out[name] = noop; + return; + } + var type = types[k]; + out[name] = function (arg, msg) { + if (arg === undefined || arg === null) { + return; + } + if (!type.check(arg)) { + _toss(msg, k, type.operator, arg, type.actual); + } + }; + }); + + /* arrayOf checks */ + keys.forEach(function (k) { + var name = 'arrayOf' + _capitalize(k); + if (ndebug) { + out[name] = noop; + return; + } + var type = types[k]; + var expected = '[' + k + ']'; + out[name] = function (arg, msg) { + if (!Array.isArray(arg)) { + _toss(msg, expected, type.operator, arg, type.actual); + } + var i; + for (i = 0; i < arg.length; i++) { + if (!type.check(arg[i])) { + _toss(msg, expected, type.operator, arg, type.actual); + } + } + }; + }); + + /* optionalArrayOf checks */ + keys.forEach(function (k) { + var name = 'optionalArrayOf' + _capitalize(k); + if (ndebug) { + out[name] = noop; + return; + } + var type = types[k]; + var expected = '[' + k + ']'; + out[name] = function (arg, msg) { + if (arg === undefined || arg === null) { + return; + } + if (!Array.isArray(arg)) { + _toss(msg, expected, type.operator, arg, type.actual); + } + var i; + for (i = 0; i < arg.length; i++) { + if (!type.check(arg[i])) { + _toss(msg, expected, type.operator, arg, type.actual); + } + } + }; + }); + + /* re-export built-in assertions */ + Object.keys(assert).forEach(function (k) { + if (k === 'AssertionError') { + out[k] = assert[k]; + return; + } + if (ndebug) { + out[k] = noop; + return; + } + out[k] = assert[k]; + }); + + /* export ourselves (for unit tests _only_) */ + out._setExports = _setExports; + + return out; +} + +module.exports = _setExports(process.env.NODE_NDEBUG); + + +/***/ }), + +/***/ 73705: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +module.exports = +{ + parallel : __nccwpck_require__(7382), + serial : __nccwpck_require__(14025), + serialOrdered : __nccwpck_require__(61796) +}; + + +/***/ }), + +/***/ 20003: +/***/ ((module) => { + +// API +module.exports = abort; + +/** + * Aborts leftover active jobs + * + * @param {object} state - current state object + */ +function abort(state) +{ + Object.keys(state.jobs).forEach(clean.bind(state)); + + // reset leftover jobs + state.jobs = {}; +} + +/** + * Cleans up leftover job by invoking abort function for the provided job id + * + * @this state + * @param {string|number} key - job id to abort + */ +function clean(key) +{ + if (typeof this.jobs[key] == 'function') + { + this.jobs[key](); + } +} + + +/***/ }), + +/***/ 6705: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var defer = __nccwpck_require__(14461); + +// API +module.exports = async; + +/** + * Runs provided callback asynchronously + * even if callback itself is not + * + * @param {function} callback - callback to invoke + * @returns {function} - augmented callback + */ +function async(callback) +{ + var isAsync = false; + + // check if async happened + defer(function() { isAsync = true; }); + + return function async_callback(err, result) + { + if (isAsync) + { + callback(err, result); + } + else + { + defer(function nextTick_callback() + { + callback(err, result); + }); + } + }; +} + + +/***/ }), + +/***/ 14461: +/***/ ((module) => { + +module.exports = defer; + +/** + * Runs provided function on next iteration of the event loop + * + * @param {function} fn - function to run + */ +function defer(fn) +{ + var nextTick = typeof setImmediate == 'function' + ? setImmediate + : ( + typeof process == 'object' && typeof process.nextTick == 'function' + ? process.nextTick + : null + ); + + if (nextTick) + { + nextTick(fn); + } + else + { + setTimeout(fn, 0); + } +} + + +/***/ }), + +/***/ 16235: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var async = __nccwpck_require__(6705) + , abort = __nccwpck_require__(20003) + ; + +// API +module.exports = iterate; + +/** + * Iterates over each job object + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {object} state - current job status + * @param {function} callback - invoked when all elements processed + */ +function iterate(list, iterator, state, callback) +{ + // store current index + var key = state['keyedList'] ? state['keyedList'][state.index] : state.index; + + state.jobs[key] = runJob(iterator, key, list[key], function(error, output) + { + // don't repeat yourself + // skip secondary callbacks + if (!(key in state.jobs)) + { + return; + } + + // clean up jobs + delete state.jobs[key]; + + if (error) + { + // don't process rest of the results + // stop still active jobs + // and reset the list + abort(state); + } + else + { + state.results[key] = output; + } + + // return salvaged results + callback(error, state.results); + }); +} + +/** + * Runs iterator over provided job element + * + * @param {function} iterator - iterator to invoke + * @param {string|number} key - key/index of the element in the list of jobs + * @param {mixed} item - job description + * @param {function} callback - invoked after iterator is done with the job + * @returns {function|mixed} - job abort function or something else + */ +function runJob(iterator, key, item, callback) +{ + var aborter; + + // allow shortcut if iterator expects only two arguments + if (iterator.length == 2) + { + aborter = iterator(item, async(callback)); + } + // otherwise go with full three arguments + else + { + aborter = iterator(item, key, async(callback)); + } + + return aborter; +} + + +/***/ }), + +/***/ 97028: +/***/ ((module) => { + +// API +module.exports = state; + +/** + * Creates initial state object + * for iteration over list + * + * @param {array|object} list - list to iterate over + * @param {function|null} sortMethod - function to use for keys sort, + * or `null` to keep them as is + * @returns {object} - initial state object + */ +function state(list, sortMethod) +{ + var isNamedList = !Array.isArray(list) + , initState = + { + index : 0, + keyedList: isNamedList || sortMethod ? Object.keys(list) : null, + jobs : {}, + results : isNamedList ? {} : [], + size : isNamedList ? Object.keys(list).length : list.length + } + ; + + if (sortMethod) + { + // sort array keys based on it's values + // sort object's keys just on own merit + initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) + { + return sortMethod(list[a], list[b]); + }); + } + + return initState; +} + + +/***/ }), + +/***/ 26316: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var abort = __nccwpck_require__(20003) + , async = __nccwpck_require__(6705) + ; + +// API +module.exports = terminator; + +/** + * Terminates jobs in the attached state context + * + * @this AsyncKitState# + * @param {function} callback - final callback to invoke after termination + */ +function terminator(callback) +{ + if (!Object.keys(this.jobs).length) + { + return; + } + + // fast forward iteration index + this.index = this.size; + + // abort jobs + abort(this); + + // send back results we have so far + async(callback)(null, this.results); +} + + +/***/ }), + +/***/ 7382: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var iterate = __nccwpck_require__(16235) + , initState = __nccwpck_require__(97028) + , terminator = __nccwpck_require__(26316) + ; + +// Public API +module.exports = parallel; + +/** + * Runs iterator over provided array elements in parallel + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function parallel(list, iterator, callback) +{ + var state = initState(list); + + while (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, function(error, result) + { + if (error) + { + callback(error, result); + return; + } + + // looks like it's the last one + if (Object.keys(state.jobs).length === 0) + { + callback(null, state.results); + return; + } + }); + + state.index++; + } + + return terminator.bind(state, callback); +} + + +/***/ }), + +/***/ 14025: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var serialOrdered = __nccwpck_require__(61796); + +// Public API +module.exports = serial; + +/** + * Runs iterator over provided array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serial(list, iterator, callback) +{ + return serialOrdered(list, iterator, null, callback); +} + + +/***/ }), + +/***/ 61796: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var iterate = __nccwpck_require__(16235) + , initState = __nccwpck_require__(97028) + , terminator = __nccwpck_require__(26316) + ; + +// Public API +module.exports = serialOrdered; +// sorting helpers +module.exports.ascending = ascending; +module.exports.descending = descending; + +/** + * Runs iterator over provided sorted array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} sortMethod - custom sort function + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serialOrdered(list, iterator, sortMethod, callback) +{ + var state = initState(list, sortMethod); + + iterate(list, iterator, state, function iteratorHandler(error, result) + { + if (error) + { + callback(error, result); + return; + } + + state.index++; + + // are we there yet? + if (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, iteratorHandler); + return; + } + + // done here + callback(null, state.results); + }); + + return terminator.bind(state, callback); +} + +/* + * -- Sort methods + */ + +/** + * sort helper to sort array elements in ascending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function ascending(a, b) +{ + return a < b ? -1 : a > b ? 1 : 0; +} + +/** + * sort helper to sort array elements in descending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function descending(a, b) +{ + return -1 * ascending(a, b); +} + + +/***/ }), + +/***/ 92322: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + + +/*! + * Copyright 2010 LearnBoost + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Module dependencies. + */ + +var crypto = __nccwpck_require__(76982) + , parse = (__nccwpck_require__(87016).parse) + ; + +/** + * Valid keys. + */ + +var keys = + [ 'acl' + , 'location' + , 'logging' + , 'notification' + , 'partNumber' + , 'policy' + , 'requestPayment' + , 'torrent' + , 'uploadId' + , 'uploads' + , 'versionId' + , 'versioning' + , 'versions' + , 'website' + ] + +/** + * Return an "Authorization" header value with the given `options` + * in the form of "AWS :" + * + * @param {Object} options + * @return {String} + * @api private + */ + +function authorization (options) { + return 'AWS ' + options.key + ':' + sign(options) +} + +module.exports = authorization +module.exports.authorization = authorization + +/** + * Simple HMAC-SHA1 Wrapper + * + * @param {Object} options + * @return {String} + * @api private + */ + +function hmacSha1 (options) { + return crypto.createHmac('sha1', options.secret).update(options.message).digest('base64') +} + +module.exports.hmacSha1 = hmacSha1 + +/** + * Create a base64 sha1 HMAC for `options`. + * + * @param {Object} options + * @return {String} + * @api private + */ + +function sign (options) { + options.message = stringToSign(options) + return hmacSha1(options) +} +module.exports.sign = sign + +/** + * Create a base64 sha1 HMAC for `options`. + * + * Specifically to be used with S3 presigned URLs + * + * @param {Object} options + * @return {String} + * @api private + */ + +function signQuery (options) { + options.message = queryStringToSign(options) + return hmacSha1(options) +} +module.exports.signQuery= signQuery + +/** + * Return a string for sign() with the given `options`. + * + * Spec: + * + * \n + * \n + * \n + * \n + * [headers\n] + * + * + * @param {Object} options + * @return {String} + * @api private + */ + +function stringToSign (options) { + var headers = options.amazonHeaders || '' + if (headers) headers += '\n' + var r = + [ options.verb + , options.md5 + , options.contentType + , options.date ? options.date.toUTCString() : '' + , headers + options.resource + ] + return r.join('\n') +} +module.exports.stringToSign = stringToSign + +/** + * Return a string for sign() with the given `options`, but is meant exclusively + * for S3 presigned URLs + * + * Spec: + * + * \n + * + * + * @param {Object} options + * @return {String} + * @api private + */ + +function queryStringToSign (options){ + return 'GET\n\n\n' + options.date + '\n' + options.resource +} +module.exports.queryStringToSign = queryStringToSign + +/** + * Perform the following: + * + * - ignore non-amazon headers + * - lowercase fields + * - sort lexicographically + * - trim whitespace between ":" + * - join with newline + * + * @param {Object} headers + * @return {String} + * @api private + */ + +function canonicalizeHeaders (headers) { + var buf = [] + , fields = Object.keys(headers) + ; + for (var i = 0, len = fields.length; i < len; ++i) { + var field = fields[i] + , val = headers[field] + , field = field.toLowerCase() + ; + if (0 !== field.indexOf('x-amz')) continue + buf.push(field + ':' + val) + } + return buf.sort().join('\n') +} +module.exports.canonicalizeHeaders = canonicalizeHeaders + +/** + * Perform the following: + * + * - ignore non sub-resources + * - sort lexicographically + * + * @param {String} resource + * @return {String} + * @api private + */ + +function canonicalizeResource (resource) { + var url = parse(resource, true) + , path = url.pathname + , buf = [] + ; + + Object.keys(url.query).forEach(function(key){ + if (!~keys.indexOf(key)) return + var val = '' == url.query[key] ? '' : '=' + encodeURIComponent(url.query[key]) + buf.push(key + val) + }) + + return path + (buf.length ? '?' + buf.sort().join('&') : '') +} +module.exports.canonicalizeResource = canonicalizeResource + + +/***/ }), + +/***/ 55339: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +var aws4 = exports, + url = __nccwpck_require__(87016), + querystring = __nccwpck_require__(83480), + crypto = __nccwpck_require__(76982), + lru = __nccwpck_require__(11415), + credentialsCache = lru(1000) + +// http://docs.amazonwebservices.com/general/latest/gr/signature-version-4.html + +function hmac(key, string, encoding) { + return crypto.createHmac('sha256', key).update(string, 'utf8').digest(encoding) +} + +function hash(string, encoding) { + return crypto.createHash('sha256').update(string, 'utf8').digest(encoding) +} + +// This function assumes the string has already been percent encoded +function encodeRfc3986(urlEncodedString) { + return urlEncodedString.replace(/[!'()*]/g, function(c) { + return '%' + c.charCodeAt(0).toString(16).toUpperCase() + }) +} + +function encodeRfc3986Full(str) { + return encodeRfc3986(encodeURIComponent(str)) +} + +// A bit of a combination of: +// https://github.com/aws/aws-sdk-java-v2/blob/dc695de6ab49ad03934e1b02e7263abbd2354be0/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAws4Signer.java#L59 +// https://github.com/aws/aws-sdk-js/blob/18cb7e5b463b46239f9fdd4a65e2ff8c81831e8f/lib/signers/v4.js#L191-L199 +// https://github.com/mhart/aws4fetch/blob/b3aed16b6f17384cf36ea33bcba3c1e9f3bdfefd/src/main.js#L25-L34 +var HEADERS_TO_IGNORE = { + 'authorization': true, + 'connection': true, + 'x-amzn-trace-id': true, + 'user-agent': true, + 'expect': true, + 'presigned-expires': true, + 'range': true, +} + +// request: { path | body, [host], [method], [headers], [service], [region] } +// credentials: { accessKeyId, secretAccessKey, [sessionToken] } +function RequestSigner(request, credentials) { + + if (typeof request === 'string') request = url.parse(request) + + var headers = request.headers = (request.headers || {}), + hostParts = (!this.service || !this.region) && this.matchHost(request.hostname || request.host || headers.Host || headers.host) + + this.request = request + this.credentials = credentials || this.defaultCredentials() + + this.service = request.service || hostParts[0] || '' + this.region = request.region || hostParts[1] || 'us-east-1' + + // SES uses a different domain from the service name + if (this.service === 'email') this.service = 'ses' + + if (!request.method && request.body) + request.method = 'POST' + + if (!headers.Host && !headers.host) { + headers.Host = request.hostname || request.host || this.createHost() + + // If a port is specified explicitly, use it as is + if (request.port) + headers.Host += ':' + request.port + } + if (!request.hostname && !request.host) + request.hostname = headers.Host || headers.host + + this.isCodeCommitGit = this.service === 'codecommit' && request.method === 'GIT' + + this.extraHeadersToIgnore = request.extraHeadersToIgnore || Object.create(null) + this.extraHeadersToInclude = request.extraHeadersToInclude || Object.create(null) +} + +RequestSigner.prototype.matchHost = function(host) { + var match = (host || '').match(/([^\.]+)\.(?:([^\.]*)\.)?amazonaws\.com(\.cn)?$/) + var hostParts = (match || []).slice(1, 3) + + // ES's hostParts are sometimes the other way round, if the value that is expected + // to be region equals ‘es’ switch them back + // e.g. search-cluster-name-aaaa00aaaa0aaa0aaaaaaa0aaa.us-east-1.es.amazonaws.com + if (hostParts[1] === 'es' || hostParts[1] === 'aoss') + hostParts = hostParts.reverse() + + if (hostParts[1] == 's3') { + hostParts[0] = 's3' + hostParts[1] = 'us-east-1' + } else { + for (var i = 0; i < 2; i++) { + if (/^s3-/.test(hostParts[i])) { + hostParts[1] = hostParts[i].slice(3) + hostParts[0] = 's3' + break + } + } + } + + return hostParts +} + +// http://docs.aws.amazon.com/general/latest/gr/rande.html +RequestSigner.prototype.isSingleRegion = function() { + // Special case for S3 and SimpleDB in us-east-1 + if (['s3', 'sdb'].indexOf(this.service) >= 0 && this.region === 'us-east-1') return true + + return ['cloudfront', 'ls', 'route53', 'iam', 'importexport', 'sts'] + .indexOf(this.service) >= 0 +} + +RequestSigner.prototype.createHost = function() { + var region = this.isSingleRegion() ? '' : '.' + this.region, + subdomain = this.service === 'ses' ? 'email' : this.service + return subdomain + region + '.amazonaws.com' +} + +RequestSigner.prototype.prepareRequest = function() { + this.parsePath() + + var request = this.request, headers = request.headers, query + + if (request.signQuery) { + + this.parsedPath.query = query = this.parsedPath.query || {} + + if (this.credentials.sessionToken) + query['X-Amz-Security-Token'] = this.credentials.sessionToken + + if (this.service === 's3' && !query['X-Amz-Expires']) + query['X-Amz-Expires'] = 86400 + + if (query['X-Amz-Date']) + this.datetime = query['X-Amz-Date'] + else + query['X-Amz-Date'] = this.getDateTime() + + query['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256' + query['X-Amz-Credential'] = this.credentials.accessKeyId + '/' + this.credentialString() + query['X-Amz-SignedHeaders'] = this.signedHeaders() + + } else { + + if (!request.doNotModifyHeaders && !this.isCodeCommitGit) { + if (request.body && !headers['Content-Type'] && !headers['content-type']) + headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8' + + if (request.body && !headers['Content-Length'] && !headers['content-length']) + headers['Content-Length'] = Buffer.byteLength(request.body) + + if (this.credentials.sessionToken && !headers['X-Amz-Security-Token'] && !headers['x-amz-security-token']) + headers['X-Amz-Security-Token'] = this.credentials.sessionToken + + if (this.service === 's3' && !headers['X-Amz-Content-Sha256'] && !headers['x-amz-content-sha256']) + headers['X-Amz-Content-Sha256'] = hash(this.request.body || '', 'hex') + + if (headers['X-Amz-Date'] || headers['x-amz-date']) + this.datetime = headers['X-Amz-Date'] || headers['x-amz-date'] + else + headers['X-Amz-Date'] = this.getDateTime() + } + + delete headers.Authorization + delete headers.authorization + } +} + +RequestSigner.prototype.sign = function() { + if (!this.parsedPath) this.prepareRequest() + + if (this.request.signQuery) { + this.parsedPath.query['X-Amz-Signature'] = this.signature() + } else { + this.request.headers.Authorization = this.authHeader() + } + + this.request.path = this.formatPath() + + return this.request +} + +RequestSigner.prototype.getDateTime = function() { + if (!this.datetime) { + var headers = this.request.headers, + date = new Date(headers.Date || headers.date || new Date) + + this.datetime = date.toISOString().replace(/[:\-]|\.\d{3}/g, '') + + // Remove the trailing 'Z' on the timestamp string for CodeCommit git access + if (this.isCodeCommitGit) this.datetime = this.datetime.slice(0, -1) + } + return this.datetime +} + +RequestSigner.prototype.getDate = function() { + return this.getDateTime().substr(0, 8) +} + +RequestSigner.prototype.authHeader = function() { + return [ + 'AWS4-HMAC-SHA256 Credential=' + this.credentials.accessKeyId + '/' + this.credentialString(), + 'SignedHeaders=' + this.signedHeaders(), + 'Signature=' + this.signature(), + ].join(', ') +} + +RequestSigner.prototype.signature = function() { + var date = this.getDate(), + cacheKey = [this.credentials.secretAccessKey, date, this.region, this.service].join(), + kDate, kRegion, kService, kCredentials = credentialsCache.get(cacheKey) + if (!kCredentials) { + kDate = hmac('AWS4' + this.credentials.secretAccessKey, date) + kRegion = hmac(kDate, this.region) + kService = hmac(kRegion, this.service) + kCredentials = hmac(kService, 'aws4_request') + credentialsCache.set(cacheKey, kCredentials) + } + return hmac(kCredentials, this.stringToSign(), 'hex') +} + +RequestSigner.prototype.stringToSign = function() { + return [ + 'AWS4-HMAC-SHA256', + this.getDateTime(), + this.credentialString(), + hash(this.canonicalString(), 'hex'), + ].join('\n') +} + +RequestSigner.prototype.canonicalString = function() { + if (!this.parsedPath) this.prepareRequest() + + var pathStr = this.parsedPath.path, + query = this.parsedPath.query, + headers = this.request.headers, + queryStr = '', + normalizePath = this.service !== 's3', + decodePath = this.service === 's3' || this.request.doNotEncodePath, + decodeSlashesInPath = this.service === 's3', + firstValOnly = this.service === 's3', + bodyHash + + if (this.service === 's3' && this.request.signQuery) { + bodyHash = 'UNSIGNED-PAYLOAD' + } else if (this.isCodeCommitGit) { + bodyHash = '' + } else { + bodyHash = headers['X-Amz-Content-Sha256'] || headers['x-amz-content-sha256'] || + hash(this.request.body || '', 'hex') + } + + if (query) { + var reducedQuery = Object.keys(query).reduce(function(obj, key) { + if (!key) return obj + obj[encodeRfc3986Full(key)] = !Array.isArray(query[key]) ? query[key] : + (firstValOnly ? query[key][0] : query[key]) + return obj + }, {}) + var encodedQueryPieces = [] + Object.keys(reducedQuery).sort().forEach(function(key) { + if (!Array.isArray(reducedQuery[key])) { + encodedQueryPieces.push(key + '=' + encodeRfc3986Full(reducedQuery[key])) + } else { + reducedQuery[key].map(encodeRfc3986Full).sort() + .forEach(function(val) { encodedQueryPieces.push(key + '=' + val) }) + } + }) + queryStr = encodedQueryPieces.join('&') + } + if (pathStr !== '/') { + if (normalizePath) pathStr = pathStr.replace(/\/{2,}/g, '/') + pathStr = pathStr.split('/').reduce(function(path, piece) { + if (normalizePath && piece === '..') { + path.pop() + } else if (!normalizePath || piece !== '.') { + if (decodePath) piece = decodeURIComponent(piece.replace(/\+/g, ' ')) + path.push(encodeRfc3986Full(piece)) + } + return path + }, []).join('/') + if (pathStr[0] !== '/') pathStr = '/' + pathStr + if (decodeSlashesInPath) pathStr = pathStr.replace(/%2F/g, '/') + } + + return [ + this.request.method || 'GET', + pathStr, + queryStr, + this.canonicalHeaders() + '\n', + this.signedHeaders(), + bodyHash, + ].join('\n') +} + +RequestSigner.prototype.canonicalHeaders = function() { + var headers = this.request.headers + function trimAll(header) { + return header.toString().trim().replace(/\s+/g, ' ') + } + return Object.keys(headers) + .filter(function(key) { return HEADERS_TO_IGNORE[key.toLowerCase()] == null }) + .sort(function(a, b) { return a.toLowerCase() < b.toLowerCase() ? -1 : 1 }) + .map(function(key) { return key.toLowerCase() + ':' + trimAll(headers[key]) }) + .join('\n') +} + +RequestSigner.prototype.signedHeaders = function() { + var extraHeadersToInclude = this.extraHeadersToInclude, + extraHeadersToIgnore = this.extraHeadersToIgnore + return Object.keys(this.request.headers) + .map(function(key) { return key.toLowerCase() }) + .filter(function(key) { + return extraHeadersToInclude[key] || + (HEADERS_TO_IGNORE[key] == null && !extraHeadersToIgnore[key]) + }) + .sort() + .join(';') +} + +RequestSigner.prototype.credentialString = function() { + return [ + this.getDate(), + this.region, + this.service, + 'aws4_request', + ].join('/') +} + +RequestSigner.prototype.defaultCredentials = function() { + var env = process.env + return { + accessKeyId: env.AWS_ACCESS_KEY_ID || env.AWS_ACCESS_KEY, + secretAccessKey: env.AWS_SECRET_ACCESS_KEY || env.AWS_SECRET_KEY, + sessionToken: env.AWS_SESSION_TOKEN, + } +} + +RequestSigner.prototype.parsePath = function() { + var path = this.request.path || '/' + + // S3 doesn't always encode characters > 127 correctly and + // all services don't encode characters > 255 correctly + // So if there are non-reserved chars (and it's not already all % encoded), just encode them all + if (/[^0-9A-Za-z;,/?:@&=+$\-_.!~*'()#%]/.test(path)) { + path = encodeURI(decodeURI(path)) + } + + var queryIx = path.indexOf('?'), + query = null + + if (queryIx >= 0) { + query = querystring.parse(path.slice(queryIx + 1)) + path = path.slice(0, queryIx) + } + + this.parsedPath = { + path: path, + query: query, + } +} + +RequestSigner.prototype.formatPath = function() { + var path = this.parsedPath.path, + query = this.parsedPath.query + + if (!query) return path + + // Services don't support empty query string keys + if (query[''] != null) delete query[''] + + return path + '?' + encodeRfc3986(querystring.stringify(query)) +} + +aws4.RequestSigner = RequestSigner + +aws4.sign = function(request, credentials) { + return new RequestSigner(request, credentials).sign() +} + + +/***/ }), + +/***/ 11415: +/***/ ((module) => { + +module.exports = function(size) { + return new LruCache(size) +} + +function LruCache(size) { + this.capacity = size | 0 + this.map = Object.create(null) + this.list = new DoublyLinkedList() +} + +LruCache.prototype.get = function(key) { + var node = this.map[key] + if (node == null) return undefined + this.used(node) + return node.val +} + +LruCache.prototype.set = function(key, val) { + var node = this.map[key] + if (node != null) { + node.val = val + } else { + if (!this.capacity) this.prune() + if (!this.capacity) return false + node = new DoublyLinkedNode(key, val) + this.map[key] = node + this.capacity-- + } + this.used(node) + return true +} + +LruCache.prototype.used = function(node) { + this.list.moveToFront(node) +} + +LruCache.prototype.prune = function() { + var node = this.list.pop() + if (node != null) { + delete this.map[node.key] + this.capacity++ + } +} + + +function DoublyLinkedList() { + this.firstNode = null + this.lastNode = null +} + +DoublyLinkedList.prototype.moveToFront = function(node) { + if (this.firstNode == node) return + + this.remove(node) + + if (this.firstNode == null) { + this.firstNode = node + this.lastNode = node + node.prev = null + node.next = null + } else { + node.prev = null + node.next = this.firstNode + node.next.prev = node + this.firstNode = node + } +} + +DoublyLinkedList.prototype.pop = function() { + var lastNode = this.lastNode + if (lastNode != null) { + this.remove(lastNode) + } + return lastNode +} + +DoublyLinkedList.prototype.remove = function(node) { + if (this.firstNode == node) { + this.firstNode = node.next + } else if (node.prev != null) { + node.prev.next = node.next + } + if (this.lastNode == node) { + this.lastNode = node.prev + } else if (node.next != null) { + node.next.prev = node.prev + } +} + + +function DoublyLinkedNode(key, val) { + this.key = key + this.val = val + this.prev = null + this.next = null +} + + +/***/ }), + +/***/ 59431: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var crypto_hash_sha512 = (__nccwpck_require__(22427).lowlevel).crypto_hash; + +/* + * This file is a 1:1 port from the OpenBSD blowfish.c and bcrypt_pbkdf.c. As a + * result, it retains the original copyright and license. The two files are + * under slightly different (but compatible) licenses, and are here combined in + * one file. + * + * Credit for the actual porting work goes to: + * Devi Mandiri + */ + +/* + * The Blowfish portions are under the following license: + * + * Blowfish block cipher for OpenBSD + * Copyright 1997 Niels Provos + * All rights reserved. + * + * Implementation advice by David Mazieres . + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * The bcrypt_pbkdf portions are under the following license: + * + * Copyright (c) 2013 Ted Unangst + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* + * Performance improvements (Javascript-specific): + * + * Copyright 2016, Joyent Inc + * Author: Alex Wilson + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +// Ported from OpenBSD bcrypt_pbkdf.c v1.9 + +var BLF_J = 0; + +var Blowfish = function() { + this.S = [ + new Uint32Array([ + 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, + 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, + 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, + 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, + 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, + 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, + 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, + 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e, + 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, + 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, + 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, + 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, + 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, + 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677, + 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, + 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, + 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, + 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, + 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, + 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0, + 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, + 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, + 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, + 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, + 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, + 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, + 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, + 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, + 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, + 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, + 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, + 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09, + 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, + 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, + 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, + 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, + 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, + 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82, + 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, + 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, + 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, + 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, + 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, + 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8, + 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, + 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, + 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, + 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, + 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, + 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1, + 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, + 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, + 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, + 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, + 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, + 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, + 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, + 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, + 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, + 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, + 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, + 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915, + 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, + 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a]), + new Uint32Array([ + 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, + 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, + 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, + 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, + 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, + 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, + 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, + 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, + 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, + 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, + 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, + 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, + 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, + 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7, + 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, + 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, + 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, + 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, + 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, + 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87, + 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, + 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, + 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, + 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, + 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, + 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509, + 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, + 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, + 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, + 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, + 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, + 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, + 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, + 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, + 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, + 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, + 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, + 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, + 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, + 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, + 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, + 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, + 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, + 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281, + 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, + 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, + 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, + 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, + 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, + 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0, + 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, + 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, + 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, + 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, + 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, + 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061, + 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, + 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, + 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, + 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, + 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, + 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, + 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, + 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7]), + new Uint32Array([ + 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, + 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, + 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, + 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, + 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, + 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, + 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, + 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, + 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, + 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, + 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, + 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, + 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, + 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, + 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, + 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, + 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, + 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, + 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, + 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, + 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, + 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, + 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, + 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, + 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, + 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, + 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, + 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, + 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, + 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, + 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, + 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, + 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, + 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, + 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, + 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, + 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, + 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, + 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, + 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, + 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, + 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, + 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, + 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, + 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, + 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, + 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, + 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, + 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, + 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, + 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, + 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, + 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, + 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, + 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, + 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, + 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, + 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, + 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, + 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, + 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, + 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, + 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, + 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0]), + new Uint32Array([ + 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, + 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe, + 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, + 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, + 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, + 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, + 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, + 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22, + 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, + 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, + 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, + 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, + 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, + 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, + 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, + 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, + 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, + 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, + 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, + 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd, + 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, + 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, + 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, + 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, + 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, + 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32, + 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, + 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, + 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, + 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, + 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, + 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47, + 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, + 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, + 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, + 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, + 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, + 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd, + 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, + 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, + 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, + 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, + 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, + 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, + 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, + 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, + 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, + 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, + 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, + 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, + 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, + 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, + 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, + 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, + 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, + 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a, + 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, + 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, + 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, + 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, + 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, + 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9, + 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, + 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6]) + ]; + this.P = new Uint32Array([ + 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, + 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, + 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, + 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, + 0x9216d5d9, 0x8979fb1b]); +}; + +function F(S, x8, i) { + return (((S[0][x8[i+3]] + + S[1][x8[i+2]]) ^ + S[2][x8[i+1]]) + + S[3][x8[i]]); +}; + +Blowfish.prototype.encipher = function(x, x8) { + if (x8 === undefined) { + x8 = new Uint8Array(x.buffer); + if (x.byteOffset !== 0) + x8 = x8.subarray(x.byteOffset); + } + x[0] ^= this.P[0]; + for (var i = 1; i < 16; i += 2) { + x[1] ^= F(this.S, x8, 0) ^ this.P[i]; + x[0] ^= F(this.S, x8, 4) ^ this.P[i+1]; + } + var t = x[0]; + x[0] = x[1] ^ this.P[17]; + x[1] = t; +}; + +Blowfish.prototype.decipher = function(x) { + var x8 = new Uint8Array(x.buffer); + if (x.byteOffset !== 0) + x8 = x8.subarray(x.byteOffset); + x[0] ^= this.P[17]; + for (var i = 16; i > 0; i -= 2) { + x[1] ^= F(this.S, x8, 0) ^ this.P[i]; + x[0] ^= F(this.S, x8, 4) ^ this.P[i-1]; + } + var t = x[0]; + x[0] = x[1] ^ this.P[0]; + x[1] = t; +}; + +function stream2word(data, databytes){ + var i, temp = 0; + for (i = 0; i < 4; i++, BLF_J++) { + if (BLF_J >= databytes) BLF_J = 0; + temp = (temp << 8) | data[BLF_J]; + } + return temp; +}; + +Blowfish.prototype.expand0state = function(key, keybytes) { + var d = new Uint32Array(2), i, k; + var d8 = new Uint8Array(d.buffer); + + for (i = 0, BLF_J = 0; i < 18; i++) { + this.P[i] ^= stream2word(key, keybytes); + } + BLF_J = 0; + + for (i = 0; i < 18; i += 2) { + this.encipher(d, d8); + this.P[i] = d[0]; + this.P[i+1] = d[1]; + } + + for (i = 0; i < 4; i++) { + for (k = 0; k < 256; k += 2) { + this.encipher(d, d8); + this.S[i][k] = d[0]; + this.S[i][k+1] = d[1]; + } + } +}; + +Blowfish.prototype.expandstate = function(data, databytes, key, keybytes) { + var d = new Uint32Array(2), i, k; + + for (i = 0, BLF_J = 0; i < 18; i++) { + this.P[i] ^= stream2word(key, keybytes); + } + + for (i = 0, BLF_J = 0; i < 18; i += 2) { + d[0] ^= stream2word(data, databytes); + d[1] ^= stream2word(data, databytes); + this.encipher(d); + this.P[i] = d[0]; + this.P[i+1] = d[1]; + } + + for (i = 0; i < 4; i++) { + for (k = 0; k < 256; k += 2) { + d[0] ^= stream2word(data, databytes); + d[1] ^= stream2word(data, databytes); + this.encipher(d); + this.S[i][k] = d[0]; + this.S[i][k+1] = d[1]; + } + } + BLF_J = 0; +}; + +Blowfish.prototype.enc = function(data, blocks) { + for (var i = 0; i < blocks; i++) { + this.encipher(data.subarray(i*2)); + } +}; + +Blowfish.prototype.dec = function(data, blocks) { + for (var i = 0; i < blocks; i++) { + this.decipher(data.subarray(i*2)); + } +}; + +var BCRYPT_BLOCKS = 8, + BCRYPT_HASHSIZE = 32; + +function bcrypt_hash(sha2pass, sha2salt, out) { + var state = new Blowfish(), + cdata = new Uint32Array(BCRYPT_BLOCKS), i, + ciphertext = new Uint8Array([79,120,121,99,104,114,111,109,97,116,105, + 99,66,108,111,119,102,105,115,104,83,119,97,116,68,121,110,97,109, + 105,116,101]); //"OxychromaticBlowfishSwatDynamite" + + state.expandstate(sha2salt, 64, sha2pass, 64); + for (i = 0; i < 64; i++) { + state.expand0state(sha2salt, 64); + state.expand0state(sha2pass, 64); + } + + for (i = 0; i < BCRYPT_BLOCKS; i++) + cdata[i] = stream2word(ciphertext, ciphertext.byteLength); + for (i = 0; i < 64; i++) + state.enc(cdata, cdata.byteLength / 8); + + for (i = 0; i < BCRYPT_BLOCKS; i++) { + out[4*i+3] = cdata[i] >>> 24; + out[4*i+2] = cdata[i] >>> 16; + out[4*i+1] = cdata[i] >>> 8; + out[4*i+0] = cdata[i]; + } +}; + +function bcrypt_pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds) { + var sha2pass = new Uint8Array(64), + sha2salt = new Uint8Array(64), + out = new Uint8Array(BCRYPT_HASHSIZE), + tmpout = new Uint8Array(BCRYPT_HASHSIZE), + countsalt = new Uint8Array(saltlen+4), + i, j, amt, stride, dest, count, + origkeylen = keylen; + + if (rounds < 1) + return -1; + if (passlen === 0 || saltlen === 0 || keylen === 0 || + keylen > (out.byteLength * out.byteLength) || saltlen > (1<<20)) + return -1; + + stride = Math.floor((keylen + out.byteLength - 1) / out.byteLength); + amt = Math.floor((keylen + stride - 1) / stride); + + for (i = 0; i < saltlen; i++) + countsalt[i] = salt[i]; + + crypto_hash_sha512(sha2pass, pass, passlen); + + for (count = 1; keylen > 0; count++) { + countsalt[saltlen+0] = count >>> 24; + countsalt[saltlen+1] = count >>> 16; + countsalt[saltlen+2] = count >>> 8; + countsalt[saltlen+3] = count; + + crypto_hash_sha512(sha2salt, countsalt, saltlen + 4); + bcrypt_hash(sha2pass, sha2salt, tmpout); + for (i = out.byteLength; i--;) + out[i] = tmpout[i]; + + for (i = 1; i < rounds; i++) { + crypto_hash_sha512(sha2salt, tmpout, tmpout.byteLength); + bcrypt_hash(sha2pass, sha2salt, tmpout); + for (j = 0; j < out.byteLength; j++) + out[j] ^= tmpout[j]; + } + + amt = Math.min(amt, keylen); + for (i = 0; i < amt; i++) { + dest = i * stride + (count - 1); + if (dest >= origkeylen) + break; + key[dest] = out[i]; + } + keylen -= i; + } + + return 0; +}; + +module.exports = { + BLOCKS: BCRYPT_BLOCKS, + HASHSIZE: BCRYPT_HASHSIZE, + hash: bcrypt_hash, + pbkdf: bcrypt_pbkdf +}; + + +/***/ }), + +/***/ 50883: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var register = __nccwpck_require__(18642); +var addHook = __nccwpck_require__(47232); +var removeHook = __nccwpck_require__(26799); + +// bind with array of arguments: https://stackoverflow.com/a/21792913 +var bind = Function.bind; +var bindable = bind.bind(bind); + +function bindApi(hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply( + null, + name ? [state, name] : [state] + ); + hook.api = { remove: removeHookRef }; + hook.remove = removeHookRef; + ["before", "error", "after", "wrap"].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind]; + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args); + }); +} + +function HookSingular() { + var singularHookName = "h"; + var singularHookState = { + registry: {}, + }; + var singularHook = register.bind(null, singularHookState, singularHookName); + bindApi(singularHook, singularHookState, singularHookName); + return singularHook; +} + +function HookCollection() { + var state = { + registry: {}, + }; + + var hook = register.bind(null, state); + bindApi(hook, state); + + return hook; +} + +var collectionHookDeprecationMessageDisplayed = false; +function Hook() { + if (!collectionHookDeprecationMessageDisplayed) { + console.warn( + '[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4' + ); + collectionHookDeprecationMessageDisplayed = true; + } + return HookCollection(); +} + +Hook.Singular = HookSingular.bind(); +Hook.Collection = HookCollection.bind(); + +module.exports = Hook; +// expose constructors as a named property for TypeScript +module.exports.Hook = Hook; +module.exports.Singular = Hook.Singular; +module.exports.Collection = Hook.Collection; + + +/***/ }), + +/***/ 47232: +/***/ ((module) => { + +module.exports = addHook; + +function addHook(state, kind, name, hook) { + var orig = hook; + if (!state.registry[name]) { + state.registry[name] = []; + } + + if (kind === "before") { + hook = function (method, options) { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)); + }; + } + + if (kind === "after") { + hook = function (method, options) { + var result; + return Promise.resolve() + .then(method.bind(null, options)) + .then(function (result_) { + result = result_; + return orig(result, options); + }) + .then(function () { + return result; + }); + }; + } + + if (kind === "error") { + hook = function (method, options) { + return Promise.resolve() + .then(method.bind(null, options)) + .catch(function (error) { + return orig(error, options); + }); + }; + } + + state.registry[name].push({ + hook: hook, + orig: orig, + }); +} + + +/***/ }), + +/***/ 18642: +/***/ ((module) => { + +module.exports = register; + +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(function (callback, name) { + return register.bind(null, state, name, callback, options); + }, method)(); + } + + return Promise.resolve().then(function () { + if (!state.registry[name]) { + return method(options); + } + + return state.registry[name].reduce(function (method, registered) { + return registered.hook.bind(null, method, options); + }, method)(); + }); +} + + +/***/ }), + +/***/ 26799: +/***/ ((module) => { + +module.exports = removeHook; + +function removeHook(state, name, method) { + if (!state.registry[name]) { + return; + } + + var index = state.registry[name] + .map(function (registered) { + return registered.orig; + }) + .indexOf(method); + + if (index === -1) { + return; + } + + state.registry[name].splice(index, 1); +} + + +/***/ }), + +/***/ 98924: +/***/ ((module) => { + +"use strict"; + +module.exports = function(Promise) { +var SomePromiseArray = Promise._SomePromiseArray; +function any(promises) { + var ret = new SomePromiseArray(promises); + var promise = ret.promise(); + ret.setHowMany(1); + ret.setUnwrap(); + ret.init(); + return promise; +} + +Promise.any = function (promises) { + return any(promises); +}; + +Promise.prototype.any = function () { + return any(this); +}; + +}; + + +/***/ }), + +/***/ 96746: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var firstLineError; +try {throw new Error(); } catch (e) {firstLineError = e;} +var schedule = __nccwpck_require__(58209); +var Queue = __nccwpck_require__(62025); + +function Async() { + this._customScheduler = false; + this._isTickUsed = false; + this._lateQueue = new Queue(16); + this._normalQueue = new Queue(16); + this._haveDrainedQueues = false; + var self = this; + this.drainQueues = function () { + self._drainQueues(); + }; + this._schedule = schedule; +} + +Async.prototype.setScheduler = function(fn) { + var prev = this._schedule; + this._schedule = fn; + this._customScheduler = true; + return prev; +}; + +Async.prototype.hasCustomScheduler = function() { + return this._customScheduler; +}; + +Async.prototype.haveItemsQueued = function () { + return this._isTickUsed || this._haveDrainedQueues; +}; + + +Async.prototype.fatalError = function(e, isNode) { + if (isNode) { + process.stderr.write("Fatal " + (e instanceof Error ? e.stack : e) + + "\n"); + process.exit(2); + } else { + this.throwLater(e); + } +}; + +Async.prototype.throwLater = function(fn, arg) { + if (arguments.length === 1) { + arg = fn; + fn = function () { throw arg; }; + } + if (typeof setTimeout !== "undefined") { + setTimeout(function() { + fn(arg); + }, 0); + } else try { + this._schedule(function() { + fn(arg); + }); + } catch (e) { + throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } +}; + +function AsyncInvokeLater(fn, receiver, arg) { + this._lateQueue.push(fn, receiver, arg); + this._queueTick(); +} + +function AsyncInvoke(fn, receiver, arg) { + this._normalQueue.push(fn, receiver, arg); + this._queueTick(); +} + +function AsyncSettlePromises(promise) { + this._normalQueue._pushOne(promise); + this._queueTick(); +} + +Async.prototype.invokeLater = AsyncInvokeLater; +Async.prototype.invoke = AsyncInvoke; +Async.prototype.settlePromises = AsyncSettlePromises; + + +function _drainQueue(queue) { + while (queue.length() > 0) { + _drainQueueStep(queue); + } +} + +function _drainQueueStep(queue) { + var fn = queue.shift(); + if (typeof fn !== "function") { + fn._settlePromises(); + } else { + var receiver = queue.shift(); + var arg = queue.shift(); + fn.call(receiver, arg); + } +} + +Async.prototype._drainQueues = function () { + _drainQueue(this._normalQueue); + this._reset(); + this._haveDrainedQueues = true; + _drainQueue(this._lateQueue); +}; + +Async.prototype._queueTick = function () { + if (!this._isTickUsed) { + this._isTickUsed = true; + this._schedule(this.drainQueues); + } +}; + +Async.prototype._reset = function () { + this._isTickUsed = false; +}; + +module.exports = Async; +module.exports.firstLineError = firstLineError; + + +/***/ }), + +/***/ 21543: +/***/ ((module) => { + +"use strict"; + +module.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) { +var calledBind = false; +var rejectThis = function(_, e) { + this._reject(e); +}; + +var targetRejected = function(e, context) { + context.promiseRejectionQueued = true; + context.bindingPromise._then(rejectThis, rejectThis, null, this, e); +}; + +var bindingResolved = function(thisArg, context) { + if (((this._bitField & 50397184) === 0)) { + this._resolveCallback(context.target); + } +}; + +var bindingRejected = function(e, context) { + if (!context.promiseRejectionQueued) this._reject(e); +}; + +Promise.prototype.bind = function (thisArg) { + if (!calledBind) { + calledBind = true; + Promise.prototype._propagateFrom = debug.propagateFromFunction(); + Promise.prototype._boundValue = debug.boundValueFunction(); + } + var maybePromise = tryConvertToPromise(thisArg); + var ret = new Promise(INTERNAL); + ret._propagateFrom(this, 1); + var target = this._target(); + ret._setBoundTo(maybePromise); + if (maybePromise instanceof Promise) { + var context = { + promiseRejectionQueued: false, + promise: ret, + target: target, + bindingPromise: maybePromise + }; + target._then(INTERNAL, targetRejected, undefined, ret, context); + maybePromise._then( + bindingResolved, bindingRejected, undefined, ret, context); + ret._setOnCancel(maybePromise); + } else { + ret._resolveCallback(target); + } + return ret; +}; + +Promise.prototype._setBoundTo = function (obj) { + if (obj !== undefined) { + this._bitField = this._bitField | 2097152; + this._boundTo = obj; + } else { + this._bitField = this._bitField & (~2097152); + } +}; + +Promise.prototype._isBound = function () { + return (this._bitField & 2097152) === 2097152; +}; + +Promise.bind = function (thisArg, value) { + return Promise.resolve(value).bind(thisArg); +}; +}; + + +/***/ }), + +/***/ 16807: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var old; +if (typeof Promise !== "undefined") old = Promise; +function noConflict() { + try { if (Promise === bluebird) Promise = old; } + catch (e) {} + return bluebird; +} +var bluebird = __nccwpck_require__(83571)(); +bluebird.noConflict = noConflict; +module.exports = bluebird; + + +/***/ }), + +/***/ 92467: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var cr = Object.create; +if (cr) { + var callerCache = cr(null); + var getterCache = cr(null); + callerCache[" size"] = getterCache[" size"] = 0; +} + +module.exports = function(Promise) { +var util = __nccwpck_require__(63704); +var canEvaluate = util.canEvaluate; +var isIdentifier = util.isIdentifier; + +var getMethodCaller; +var getGetter; +if (true) { +var makeMethodCaller = function (methodName) { + return new Function("ensureMethod", " \n\ + return function(obj) { \n\ + 'use strict' \n\ + var len = this.length; \n\ + ensureMethod(obj, 'methodName'); \n\ + switch(len) { \n\ + case 1: return obj.methodName(this[0]); \n\ + case 2: return obj.methodName(this[0], this[1]); \n\ + case 3: return obj.methodName(this[0], this[1], this[2]); \n\ + case 0: return obj.methodName(); \n\ + default: \n\ + return obj.methodName.apply(obj, this); \n\ + } \n\ + }; \n\ + ".replace(/methodName/g, methodName))(ensureMethod); +}; + +var makeGetter = function (propertyName) { + return new Function("obj", " \n\ + 'use strict'; \n\ + return obj.propertyName; \n\ + ".replace("propertyName", propertyName)); +}; + +var getCompiled = function(name, compiler, cache) { + var ret = cache[name]; + if (typeof ret !== "function") { + if (!isIdentifier(name)) { + return null; + } + ret = compiler(name); + cache[name] = ret; + cache[" size"]++; + if (cache[" size"] > 512) { + var keys = Object.keys(cache); + for (var i = 0; i < 256; ++i) delete cache[keys[i]]; + cache[" size"] = keys.length - 256; + } + } + return ret; +}; + +getMethodCaller = function(name) { + return getCompiled(name, makeMethodCaller, callerCache); +}; + +getGetter = function(name) { + return getCompiled(name, makeGetter, getterCache); +}; +} + +function ensureMethod(obj, methodName) { + var fn; + if (obj != null) fn = obj[methodName]; + if (typeof fn !== "function") { + var message = "Object " + util.classString(obj) + " has no method '" + + util.toString(methodName) + "'"; + throw new Promise.TypeError(message); + } + return fn; +} + +function caller(obj) { + var methodName = this.pop(); + var fn = ensureMethod(obj, methodName); + return fn.apply(obj, this); +} +Promise.prototype.call = function (methodName) { + var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; + if (true) { + if (canEvaluate) { + var maybeCaller = getMethodCaller(methodName); + if (maybeCaller !== null) { + return this._then( + maybeCaller, undefined, undefined, args, undefined); + } + } + } + args.push(methodName); + return this._then(caller, undefined, undefined, args, undefined); +}; + +function namedGetter(obj) { + return obj[this]; +} +function indexedGetter(obj) { + var index = +this; + if (index < 0) index = Math.max(0, index + obj.length); + return obj[index]; +} +Promise.prototype.get = function (propertyName) { + var isIndex = (typeof propertyName === "number"); + var getter; + if (!isIndex) { + if (canEvaluate) { + var maybeGetter = getGetter(propertyName); + getter = maybeGetter !== null ? maybeGetter : namedGetter; + } else { + getter = namedGetter; + } + } else { + getter = indexedGetter; + } + return this._then(getter, undefined, undefined, propertyName, undefined); +}; +}; + + +/***/ }), + +/***/ 92346: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, PromiseArray, apiRejection, debug) { +var util = __nccwpck_require__(63704); +var tryCatch = util.tryCatch; +var errorObj = util.errorObj; +var async = Promise._async; + +Promise.prototype["break"] = Promise.prototype.cancel = function() { + if (!debug.cancellation()) return this._warn("cancellation is disabled"); + + var promise = this; + var child = promise; + while (promise._isCancellable()) { + if (!promise._cancelBy(child)) { + if (child._isFollowing()) { + child._followee().cancel(); + } else { + child._cancelBranched(); + } + break; + } + + var parent = promise._cancellationParent; + if (parent == null || !parent._isCancellable()) { + if (promise._isFollowing()) { + promise._followee().cancel(); + } else { + promise._cancelBranched(); + } + break; + } else { + if (promise._isFollowing()) promise._followee().cancel(); + promise._setWillBeCancelled(); + child = promise; + promise = parent; + } + } +}; + +Promise.prototype._branchHasCancelled = function() { + this._branchesRemainingToCancel--; +}; + +Promise.prototype._enoughBranchesHaveCancelled = function() { + return this._branchesRemainingToCancel === undefined || + this._branchesRemainingToCancel <= 0; +}; + +Promise.prototype._cancelBy = function(canceller) { + if (canceller === this) { + this._branchesRemainingToCancel = 0; + this._invokeOnCancel(); + return true; + } else { + this._branchHasCancelled(); + if (this._enoughBranchesHaveCancelled()) { + this._invokeOnCancel(); + return true; + } + } + return false; +}; + +Promise.prototype._cancelBranched = function() { + if (this._enoughBranchesHaveCancelled()) { + this._cancel(); + } +}; + +Promise.prototype._cancel = function() { + if (!this._isCancellable()) return; + this._setCancelled(); + async.invoke(this._cancelPromises, this, undefined); +}; + +Promise.prototype._cancelPromises = function() { + if (this._length() > 0) this._settlePromises(); +}; + +Promise.prototype._unsetOnCancel = function() { + this._onCancelField = undefined; +}; + +Promise.prototype._isCancellable = function() { + return this.isPending() && !this._isCancelled(); +}; + +Promise.prototype.isCancellable = function() { + return this.isPending() && !this.isCancelled(); +}; + +Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { + if (util.isArray(onCancelCallback)) { + for (var i = 0; i < onCancelCallback.length; ++i) { + this._doInvokeOnCancel(onCancelCallback[i], internalOnly); + } + } else if (onCancelCallback !== undefined) { + if (typeof onCancelCallback === "function") { + if (!internalOnly) { + var e = tryCatch(onCancelCallback).call(this._boundValue()); + if (e === errorObj) { + this._attachExtraTrace(e.e); + async.throwLater(e.e); + } + } + } else { + onCancelCallback._resultCancelled(this); + } + } +}; + +Promise.prototype._invokeOnCancel = function() { + var onCancelCallback = this._onCancel(); + this._unsetOnCancel(); + async.invoke(this._doInvokeOnCancel, this, onCancelCallback); +}; + +Promise.prototype._invokeInternalOnCancel = function() { + if (this._isCancellable()) { + this._doInvokeOnCancel(this._onCancel(), true); + this._unsetOnCancel(); + } +}; + +Promise.prototype._resultCancelled = function() { + this.cancel(); +}; + +}; + + +/***/ }), + +/***/ 91874: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(NEXT_FILTER) { +var util = __nccwpck_require__(63704); +var getKeys = (__nccwpck_require__(10201).keys); +var tryCatch = util.tryCatch; +var errorObj = util.errorObj; + +function catchFilter(instances, cb, promise) { + return function(e) { + var boundTo = promise._boundValue(); + predicateLoop: for (var i = 0; i < instances.length; ++i) { + var item = instances[i]; + + if (item === Error || + (item != null && item.prototype instanceof Error)) { + if (e instanceof item) { + return tryCatch(cb).call(boundTo, e); + } + } else if (typeof item === "function") { + var matchesPredicate = tryCatch(item).call(boundTo, e); + if (matchesPredicate === errorObj) { + return matchesPredicate; + } else if (matchesPredicate) { + return tryCatch(cb).call(boundTo, e); + } + } else if (util.isObject(e)) { + var keys = getKeys(item); + for (var j = 0; j < keys.length; ++j) { + var key = keys[j]; + if (item[key] != e[key]) { + continue predicateLoop; + } + } + return tryCatch(cb).call(boundTo, e); + } + } + return NEXT_FILTER; + }; +} + +return catchFilter; +}; + + +/***/ }), + +/***/ 53217: +/***/ ((module) => { + +"use strict"; + +module.exports = function(Promise) { +var longStackTraces = false; +var contextStack = []; + +Promise.prototype._promiseCreated = function() {}; +Promise.prototype._pushContext = function() {}; +Promise.prototype._popContext = function() {return null;}; +Promise._peekContext = Promise.prototype._peekContext = function() {}; + +function Context() { + this._trace = new Context.CapturedTrace(peekContext()); +} +Context.prototype._pushContext = function () { + if (this._trace !== undefined) { + this._trace._promiseCreated = null; + contextStack.push(this._trace); + } +}; + +Context.prototype._popContext = function () { + if (this._trace !== undefined) { + var trace = contextStack.pop(); + var ret = trace._promiseCreated; + trace._promiseCreated = null; + return ret; + } + return null; +}; + +function createContext() { + if (longStackTraces) return new Context(); +} + +function peekContext() { + var lastIndex = contextStack.length - 1; + if (lastIndex >= 0) { + return contextStack[lastIndex]; + } + return undefined; +} +Context.CapturedTrace = null; +Context.create = createContext; +Context.deactivateLongStackTraces = function() {}; +Context.activateLongStackTraces = function() { + var Promise_pushContext = Promise.prototype._pushContext; + var Promise_popContext = Promise.prototype._popContext; + var Promise_PeekContext = Promise._peekContext; + var Promise_peekContext = Promise.prototype._peekContext; + var Promise_promiseCreated = Promise.prototype._promiseCreated; + Context.deactivateLongStackTraces = function() { + Promise.prototype._pushContext = Promise_pushContext; + Promise.prototype._popContext = Promise_popContext; + Promise._peekContext = Promise_PeekContext; + Promise.prototype._peekContext = Promise_peekContext; + Promise.prototype._promiseCreated = Promise_promiseCreated; + longStackTraces = false; + }; + longStackTraces = true; + Promise.prototype._pushContext = Context.prototype._pushContext; + Promise.prototype._popContext = Context.prototype._popContext; + Promise._peekContext = Promise.prototype._peekContext = peekContext; + Promise.prototype._promiseCreated = function() { + var ctx = this._peekContext(); + if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; + }; +}; +return Context; +}; + + +/***/ }), + +/***/ 73700: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, Context, + enableAsyncHooks, disableAsyncHooks) { +var async = Promise._async; +var Warning = (__nccwpck_require__(98331).Warning); +var util = __nccwpck_require__(63704); +var es5 = __nccwpck_require__(10201); +var canAttachTrace = util.canAttachTrace; +var unhandledRejectionHandled; +var possiblyUnhandledRejection; +var bluebirdFramePattern = + /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/; +var nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/; +var parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/; +var stackFramePattern = null; +var formatStack = null; +var indentStackFrames = false; +var printWarning; +var debugging = !!(util.env("BLUEBIRD_DEBUG") != 0 && + ( false || + util.env("BLUEBIRD_DEBUG") || + util.env("NODE_ENV") === "development")); + +var warnings = !!(util.env("BLUEBIRD_WARNINGS") != 0 && + (debugging || util.env("BLUEBIRD_WARNINGS"))); + +var longStackTraces = !!(util.env("BLUEBIRD_LONG_STACK_TRACES") != 0 && + (debugging || util.env("BLUEBIRD_LONG_STACK_TRACES"))); + +var wForgottenReturn = util.env("BLUEBIRD_W_FORGOTTEN_RETURN") != 0 && + (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); + +var deferUnhandledRejectionCheck; +(function() { + var promises = []; + + function unhandledRejectionCheck() { + for (var i = 0; i < promises.length; ++i) { + promises[i]._notifyUnhandledRejection(); + } + unhandledRejectionClear(); + } + + function unhandledRejectionClear() { + promises.length = 0; + } + + deferUnhandledRejectionCheck = function(promise) { + promises.push(promise); + setTimeout(unhandledRejectionCheck, 1); + }; + + es5.defineProperty(Promise, "_unhandledRejectionCheck", { + value: unhandledRejectionCheck + }); + es5.defineProperty(Promise, "_unhandledRejectionClear", { + value: unhandledRejectionClear + }); +})(); + +Promise.prototype.suppressUnhandledRejections = function() { + var target = this._target(); + target._bitField = ((target._bitField & (~1048576)) | + 524288); +}; + +Promise.prototype._ensurePossibleRejectionHandled = function () { + if ((this._bitField & 524288) !== 0) return; + this._setRejectionIsUnhandled(); + deferUnhandledRejectionCheck(this); +}; + +Promise.prototype._notifyUnhandledRejectionIsHandled = function () { + fireRejectionEvent("rejectionHandled", + unhandledRejectionHandled, undefined, this); +}; + +Promise.prototype._setReturnedNonUndefined = function() { + this._bitField = this._bitField | 268435456; +}; + +Promise.prototype._returnedNonUndefined = function() { + return (this._bitField & 268435456) !== 0; +}; + +Promise.prototype._notifyUnhandledRejection = function () { + if (this._isRejectionUnhandled()) { + var reason = this._settledValue(); + this._setUnhandledRejectionIsNotified(); + fireRejectionEvent("unhandledRejection", + possiblyUnhandledRejection, reason, this); + } +}; + +Promise.prototype._setUnhandledRejectionIsNotified = function () { + this._bitField = this._bitField | 262144; +}; + +Promise.prototype._unsetUnhandledRejectionIsNotified = function () { + this._bitField = this._bitField & (~262144); +}; + +Promise.prototype._isUnhandledRejectionNotified = function () { + return (this._bitField & 262144) > 0; +}; + +Promise.prototype._setRejectionIsUnhandled = function () { + this._bitField = this._bitField | 1048576; +}; + +Promise.prototype._unsetRejectionIsUnhandled = function () { + this._bitField = this._bitField & (~1048576); + if (this._isUnhandledRejectionNotified()) { + this._unsetUnhandledRejectionIsNotified(); + this._notifyUnhandledRejectionIsHandled(); + } +}; + +Promise.prototype._isRejectionUnhandled = function () { + return (this._bitField & 1048576) > 0; +}; + +Promise.prototype._warn = function(message, shouldUseOwnTrace, promise) { + return warn(message, shouldUseOwnTrace, promise || this); +}; + +Promise.onPossiblyUnhandledRejection = function (fn) { + var context = Promise._getContext(); + possiblyUnhandledRejection = util.contextBind(context, fn); +}; + +Promise.onUnhandledRejectionHandled = function (fn) { + var context = Promise._getContext(); + unhandledRejectionHandled = util.contextBind(context, fn); +}; + +var disableLongStackTraces = function() {}; +Promise.longStackTraces = function () { + if (async.haveItemsQueued() && !config.longStackTraces) { + throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + if (!config.longStackTraces && longStackTracesIsSupported()) { + var Promise_captureStackTrace = Promise.prototype._captureStackTrace; + var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace; + var Promise_dereferenceTrace = Promise.prototype._dereferenceTrace; + config.longStackTraces = true; + disableLongStackTraces = function() { + if (async.haveItemsQueued() && !config.longStackTraces) { + throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + Promise.prototype._captureStackTrace = Promise_captureStackTrace; + Promise.prototype._attachExtraTrace = Promise_attachExtraTrace; + Promise.prototype._dereferenceTrace = Promise_dereferenceTrace; + Context.deactivateLongStackTraces(); + config.longStackTraces = false; + }; + Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace; + Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace; + Promise.prototype._dereferenceTrace = longStackTracesDereferenceTrace; + Context.activateLongStackTraces(); + } +}; + +Promise.hasLongStackTraces = function () { + return config.longStackTraces && longStackTracesIsSupported(); +}; + + +var legacyHandlers = { + unhandledrejection: { + before: function() { + var ret = util.global.onunhandledrejection; + util.global.onunhandledrejection = null; + return ret; + }, + after: function(fn) { + util.global.onunhandledrejection = fn; + } + }, + rejectionhandled: { + before: function() { + var ret = util.global.onrejectionhandled; + util.global.onrejectionhandled = null; + return ret; + }, + after: function(fn) { + util.global.onrejectionhandled = fn; + } + } +}; + +var fireDomEvent = (function() { + var dispatch = function(legacy, e) { + if (legacy) { + var fn; + try { + fn = legacy.before(); + return !util.global.dispatchEvent(e); + } finally { + legacy.after(fn); + } + } else { + return !util.global.dispatchEvent(e); + } + }; + try { + if (typeof CustomEvent === "function") { + var event = new CustomEvent("CustomEvent"); + util.global.dispatchEvent(event); + return function(name, event) { + name = name.toLowerCase(); + var eventData = { + detail: event, + cancelable: true + }; + var domEvent = new CustomEvent(name, eventData); + es5.defineProperty( + domEvent, "promise", {value: event.promise}); + es5.defineProperty( + domEvent, "reason", {value: event.reason}); + + return dispatch(legacyHandlers[name], domEvent); + }; + } else if (typeof Event === "function") { + var event = new Event("CustomEvent"); + util.global.dispatchEvent(event); + return function(name, event) { + name = name.toLowerCase(); + var domEvent = new Event(name, { + cancelable: true + }); + domEvent.detail = event; + es5.defineProperty(domEvent, "promise", {value: event.promise}); + es5.defineProperty(domEvent, "reason", {value: event.reason}); + return dispatch(legacyHandlers[name], domEvent); + }; + } else { + var event = document.createEvent("CustomEvent"); + event.initCustomEvent("testingtheevent", false, true, {}); + util.global.dispatchEvent(event); + return function(name, event) { + name = name.toLowerCase(); + var domEvent = document.createEvent("CustomEvent"); + domEvent.initCustomEvent(name, false, true, + event); + return dispatch(legacyHandlers[name], domEvent); + }; + } + } catch (e) {} + return function() { + return false; + }; +})(); + +var fireGlobalEvent = (function() { + if (util.isNode) { + return function() { + return process.emit.apply(process, arguments); + }; + } else { + if (!util.global) { + return function() { + return false; + }; + } + return function(name) { + var methodName = "on" + name.toLowerCase(); + var method = util.global[methodName]; + if (!method) return false; + method.apply(util.global, [].slice.call(arguments, 1)); + return true; + }; + } +})(); + +function generatePromiseLifecycleEventObject(name, promise) { + return {promise: promise}; +} + +var eventToObjectGenerator = { + promiseCreated: generatePromiseLifecycleEventObject, + promiseFulfilled: generatePromiseLifecycleEventObject, + promiseRejected: generatePromiseLifecycleEventObject, + promiseResolved: generatePromiseLifecycleEventObject, + promiseCancelled: generatePromiseLifecycleEventObject, + promiseChained: function(name, promise, child) { + return {promise: promise, child: child}; + }, + warning: function(name, warning) { + return {warning: warning}; + }, + unhandledRejection: function (name, reason, promise) { + return {reason: reason, promise: promise}; + }, + rejectionHandled: generatePromiseLifecycleEventObject +}; + +var activeFireEvent = function (name) { + var globalEventFired = false; + try { + globalEventFired = fireGlobalEvent.apply(null, arguments); + } catch (e) { + async.throwLater(e); + globalEventFired = true; + } + + var domEventFired = false; + try { + domEventFired = fireDomEvent(name, + eventToObjectGenerator[name].apply(null, arguments)); + } catch (e) { + async.throwLater(e); + domEventFired = true; + } + + return domEventFired || globalEventFired; +}; + +Promise.config = function(opts) { + opts = Object(opts); + if ("longStackTraces" in opts) { + if (opts.longStackTraces) { + Promise.longStackTraces(); + } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) { + disableLongStackTraces(); + } + } + if ("warnings" in opts) { + var warningsOption = opts.warnings; + config.warnings = !!warningsOption; + wForgottenReturn = config.warnings; + + if (util.isObject(warningsOption)) { + if ("wForgottenReturn" in warningsOption) { + wForgottenReturn = !!warningsOption.wForgottenReturn; + } + } + } + if ("cancellation" in opts && opts.cancellation && !config.cancellation) { + if (async.haveItemsQueued()) { + throw new Error( + "cannot enable cancellation after promises are in use"); + } + Promise.prototype._clearCancellationData = + cancellationClearCancellationData; + Promise.prototype._propagateFrom = cancellationPropagateFrom; + Promise.prototype._onCancel = cancellationOnCancel; + Promise.prototype._setOnCancel = cancellationSetOnCancel; + Promise.prototype._attachCancellationCallback = + cancellationAttachCancellationCallback; + Promise.prototype._execute = cancellationExecute; + propagateFromFunction = cancellationPropagateFrom; + config.cancellation = true; + } + if ("monitoring" in opts) { + if (opts.monitoring && !config.monitoring) { + config.monitoring = true; + Promise.prototype._fireEvent = activeFireEvent; + } else if (!opts.monitoring && config.monitoring) { + config.monitoring = false; + Promise.prototype._fireEvent = defaultFireEvent; + } + } + if ("asyncHooks" in opts && util.nodeSupportsAsyncResource) { + var prev = config.asyncHooks; + var cur = !!opts.asyncHooks; + if (prev !== cur) { + config.asyncHooks = cur; + if (cur) { + enableAsyncHooks(); + } else { + disableAsyncHooks(); + } + } + } + return Promise; +}; + +function defaultFireEvent() { return false; } + +Promise.prototype._fireEvent = defaultFireEvent; +Promise.prototype._execute = function(executor, resolve, reject) { + try { + executor(resolve, reject); + } catch (e) { + return e; + } +}; +Promise.prototype._onCancel = function () {}; +Promise.prototype._setOnCancel = function (handler) { ; }; +Promise.prototype._attachCancellationCallback = function(onCancel) { + ; +}; +Promise.prototype._captureStackTrace = function () {}; +Promise.prototype._attachExtraTrace = function () {}; +Promise.prototype._dereferenceTrace = function () {}; +Promise.prototype._clearCancellationData = function() {}; +Promise.prototype._propagateFrom = function (parent, flags) { + ; + ; +}; + +function cancellationExecute(executor, resolve, reject) { + var promise = this; + try { + executor(resolve, reject, function(onCancel) { + if (typeof onCancel !== "function") { + throw new TypeError("onCancel must be a function, got: " + + util.toString(onCancel)); + } + promise._attachCancellationCallback(onCancel); + }); + } catch (e) { + return e; + } +} + +function cancellationAttachCancellationCallback(onCancel) { + if (!this._isCancellable()) return this; + + var previousOnCancel = this._onCancel(); + if (previousOnCancel !== undefined) { + if (util.isArray(previousOnCancel)) { + previousOnCancel.push(onCancel); + } else { + this._setOnCancel([previousOnCancel, onCancel]); + } + } else { + this._setOnCancel(onCancel); + } +} + +function cancellationOnCancel() { + return this._onCancelField; +} + +function cancellationSetOnCancel(onCancel) { + this._onCancelField = onCancel; +} + +function cancellationClearCancellationData() { + this._cancellationParent = undefined; + this._onCancelField = undefined; +} + +function cancellationPropagateFrom(parent, flags) { + if ((flags & 1) !== 0) { + this._cancellationParent = parent; + var branchesRemainingToCancel = parent._branchesRemainingToCancel; + if (branchesRemainingToCancel === undefined) { + branchesRemainingToCancel = 0; + } + parent._branchesRemainingToCancel = branchesRemainingToCancel + 1; + } + if ((flags & 2) !== 0 && parent._isBound()) { + this._setBoundTo(parent._boundTo); + } +} + +function bindingPropagateFrom(parent, flags) { + if ((flags & 2) !== 0 && parent._isBound()) { + this._setBoundTo(parent._boundTo); + } +} +var propagateFromFunction = bindingPropagateFrom; + +function boundValueFunction() { + var ret = this._boundTo; + if (ret !== undefined) { + if (ret instanceof Promise) { + if (ret.isFulfilled()) { + return ret.value(); + } else { + return undefined; + } + } + } + return ret; +} + +function longStackTracesCaptureStackTrace() { + this._trace = new CapturedTrace(this._peekContext()); +} + +function longStackTracesAttachExtraTrace(error, ignoreSelf) { + if (canAttachTrace(error)) { + var trace = this._trace; + if (trace !== undefined) { + if (ignoreSelf) trace = trace._parent; + } + if (trace !== undefined) { + trace.attachExtraTrace(error); + } else if (!error.__stackCleaned__) { + var parsed = parseStackAndMessage(error); + util.notEnumerableProp(error, "stack", + parsed.message + "\n" + parsed.stack.join("\n")); + util.notEnumerableProp(error, "__stackCleaned__", true); + } + } +} + +function longStackTracesDereferenceTrace() { + this._trace = undefined; +} + +function checkForgottenReturns(returnValue, promiseCreated, name, promise, + parent) { + if (returnValue === undefined && promiseCreated !== null && + wForgottenReturn) { + if (parent !== undefined && parent._returnedNonUndefined()) return; + if ((promise._bitField & 65535) === 0) return; + + if (name) name = name + " "; + var handlerLine = ""; + var creatorLine = ""; + if (promiseCreated._trace) { + var traceLines = promiseCreated._trace.stack.split("\n"); + var stack = cleanStack(traceLines); + for (var i = stack.length - 1; i >= 0; --i) { + var line = stack[i]; + if (!nodeFramePattern.test(line)) { + var lineMatches = line.match(parseLinePattern); + if (lineMatches) { + handlerLine = "at " + lineMatches[1] + + ":" + lineMatches[2] + ":" + lineMatches[3] + " "; + } + break; + } + } + + if (stack.length > 0) { + var firstUserLine = stack[0]; + for (var i = 0; i < traceLines.length; ++i) { + + if (traceLines[i] === firstUserLine) { + if (i > 0) { + creatorLine = "\n" + traceLines[i - 1]; + } + break; + } + } + + } + } + var msg = "a promise was created in a " + name + + "handler " + handlerLine + "but was not returned from it, " + + "see http://goo.gl/rRqMUw" + + creatorLine; + promise._warn(msg, true, promiseCreated); + } +} + +function deprecated(name, replacement) { + var message = name + + " is deprecated and will be removed in a future version."; + if (replacement) message += " Use " + replacement + " instead."; + return warn(message); +} + +function warn(message, shouldUseOwnTrace, promise) { + if (!config.warnings) return; + var warning = new Warning(message); + var ctx; + if (shouldUseOwnTrace) { + promise._attachExtraTrace(warning); + } else if (config.longStackTraces && (ctx = Promise._peekContext())) { + ctx.attachExtraTrace(warning); + } else { + var parsed = parseStackAndMessage(warning); + warning.stack = parsed.message + "\n" + parsed.stack.join("\n"); + } + + if (!activeFireEvent("warning", warning)) { + formatAndLogError(warning, "", true); + } +} + +function reconstructStack(message, stacks) { + for (var i = 0; i < stacks.length - 1; ++i) { + stacks[i].push("From previous event:"); + stacks[i] = stacks[i].join("\n"); + } + if (i < stacks.length) { + stacks[i] = stacks[i].join("\n"); + } + return message + "\n" + stacks.join("\n"); +} + +function removeDuplicateOrEmptyJumps(stacks) { + for (var i = 0; i < stacks.length; ++i) { + if (stacks[i].length === 0 || + ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) { + stacks.splice(i, 1); + i--; + } + } +} + +function removeCommonRoots(stacks) { + var current = stacks[0]; + for (var i = 1; i < stacks.length; ++i) { + var prev = stacks[i]; + var currentLastIndex = current.length - 1; + var currentLastLine = current[currentLastIndex]; + var commonRootMeetPoint = -1; + + for (var j = prev.length - 1; j >= 0; --j) { + if (prev[j] === currentLastLine) { + commonRootMeetPoint = j; + break; + } + } + + for (var j = commonRootMeetPoint; j >= 0; --j) { + var line = prev[j]; + if (current[currentLastIndex] === line) { + current.pop(); + currentLastIndex--; + } else { + break; + } + } + current = prev; + } +} + +function cleanStack(stack) { + var ret = []; + for (var i = 0; i < stack.length; ++i) { + var line = stack[i]; + var isTraceLine = " (No stack trace)" === line || + stackFramePattern.test(line); + var isInternalFrame = isTraceLine && shouldIgnore(line); + if (isTraceLine && !isInternalFrame) { + if (indentStackFrames && line.charAt(0) !== " ") { + line = " " + line; + } + ret.push(line); + } + } + return ret; +} + +function stackFramesAsArray(error) { + var stack = error.stack.replace(/\s+$/g, "").split("\n"); + for (var i = 0; i < stack.length; ++i) { + var line = stack[i]; + if (" (No stack trace)" === line || stackFramePattern.test(line)) { + break; + } + } + if (i > 0 && error.name != "SyntaxError") { + stack = stack.slice(i); + } + return stack; +} + +function parseStackAndMessage(error) { + var stack = error.stack; + var message = error.toString(); + stack = typeof stack === "string" && stack.length > 0 + ? stackFramesAsArray(error) : [" (No stack trace)"]; + return { + message: message, + stack: error.name == "SyntaxError" ? stack : cleanStack(stack) + }; +} + +function formatAndLogError(error, title, isSoft) { + if (typeof console !== "undefined") { + var message; + if (util.isObject(error)) { + var stack = error.stack; + message = title + formatStack(stack, error); + } else { + message = title + String(error); + } + if (typeof printWarning === "function") { + printWarning(message, isSoft); + } else if (typeof console.log === "function" || + typeof console.log === "object") { + console.log(message); + } + } +} + +function fireRejectionEvent(name, localHandler, reason, promise) { + var localEventFired = false; + try { + if (typeof localHandler === "function") { + localEventFired = true; + if (name === "rejectionHandled") { + localHandler(promise); + } else { + localHandler(reason, promise); + } + } + } catch (e) { + async.throwLater(e); + } + + if (name === "unhandledRejection") { + if (!activeFireEvent(name, reason, promise) && !localEventFired) { + formatAndLogError(reason, "Unhandled rejection "); + } + } else { + activeFireEvent(name, promise); + } +} + +function formatNonError(obj) { + var str; + if (typeof obj === "function") { + str = "[function " + + (obj.name || "anonymous") + + "]"; + } else { + str = obj && typeof obj.toString === "function" + ? obj.toString() : util.toString(obj); + var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; + if (ruselessToString.test(str)) { + try { + var newStr = JSON.stringify(obj); + str = newStr; + } + catch(e) { + + } + } + if (str.length === 0) { + str = "(empty array)"; + } + } + return ("(<" + snip(str) + ">, no stack trace)"); +} + +function snip(str) { + var maxChars = 41; + if (str.length < maxChars) { + return str; + } + return str.substr(0, maxChars - 3) + "..."; +} + +function longStackTracesIsSupported() { + return typeof captureStackTrace === "function"; +} + +var shouldIgnore = function() { return false; }; +var parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; +function parseLineInfo(line) { + var matches = line.match(parseLineInfoRegex); + if (matches) { + return { + fileName: matches[1], + line: parseInt(matches[2], 10) + }; + } +} + +function setBounds(firstLineError, lastLineError) { + if (!longStackTracesIsSupported()) return; + var firstStackLines = (firstLineError.stack || "").split("\n"); + var lastStackLines = (lastLineError.stack || "").split("\n"); + var firstIndex = -1; + var lastIndex = -1; + var firstFileName; + var lastFileName; + for (var i = 0; i < firstStackLines.length; ++i) { + var result = parseLineInfo(firstStackLines[i]); + if (result) { + firstFileName = result.fileName; + firstIndex = result.line; + break; + } + } + for (var i = 0; i < lastStackLines.length; ++i) { + var result = parseLineInfo(lastStackLines[i]); + if (result) { + lastFileName = result.fileName; + lastIndex = result.line; + break; + } + } + if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || + firstFileName !== lastFileName || firstIndex >= lastIndex) { + return; + } + + shouldIgnore = function(line) { + if (bluebirdFramePattern.test(line)) return true; + var info = parseLineInfo(line); + if (info) { + if (info.fileName === firstFileName && + (firstIndex <= info.line && info.line <= lastIndex)) { + return true; + } + } + return false; + }; +} + +function CapturedTrace(parent) { + this._parent = parent; + this._promisesCreated = 0; + var length = this._length = 1 + (parent === undefined ? 0 : parent._length); + captureStackTrace(this, CapturedTrace); + if (length > 32) this.uncycle(); +} +util.inherits(CapturedTrace, Error); +Context.CapturedTrace = CapturedTrace; + +CapturedTrace.prototype.uncycle = function() { + var length = this._length; + if (length < 2) return; + var nodes = []; + var stackToIndex = {}; + + for (var i = 0, node = this; node !== undefined; ++i) { + nodes.push(node); + node = node._parent; + } + length = this._length = i; + for (var i = length - 1; i >= 0; --i) { + var stack = nodes[i].stack; + if (stackToIndex[stack] === undefined) { + stackToIndex[stack] = i; + } + } + for (var i = 0; i < length; ++i) { + var currentStack = nodes[i].stack; + var index = stackToIndex[currentStack]; + if (index !== undefined && index !== i) { + if (index > 0) { + nodes[index - 1]._parent = undefined; + nodes[index - 1]._length = 1; + } + nodes[i]._parent = undefined; + nodes[i]._length = 1; + var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; + + if (index < length - 1) { + cycleEdgeNode._parent = nodes[index + 1]; + cycleEdgeNode._parent.uncycle(); + cycleEdgeNode._length = + cycleEdgeNode._parent._length + 1; + } else { + cycleEdgeNode._parent = undefined; + cycleEdgeNode._length = 1; + } + var currentChildLength = cycleEdgeNode._length + 1; + for (var j = i - 2; j >= 0; --j) { + nodes[j]._length = currentChildLength; + currentChildLength++; + } + return; + } + } +}; + +CapturedTrace.prototype.attachExtraTrace = function(error) { + if (error.__stackCleaned__) return; + this.uncycle(); + var parsed = parseStackAndMessage(error); + var message = parsed.message; + var stacks = [parsed.stack]; + + var trace = this; + while (trace !== undefined) { + stacks.push(cleanStack(trace.stack.split("\n"))); + trace = trace._parent; + } + removeCommonRoots(stacks); + removeDuplicateOrEmptyJumps(stacks); + util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)); + util.notEnumerableProp(error, "__stackCleaned__", true); +}; + +var captureStackTrace = (function stackDetection() { + var v8stackFramePattern = /^\s*at\s*/; + var v8stackFormatter = function(stack, error) { + if (typeof stack === "string") return stack; + + if (error.name !== undefined && + error.message !== undefined) { + return error.toString(); + } + return formatNonError(error); + }; + + if (typeof Error.stackTraceLimit === "number" && + typeof Error.captureStackTrace === "function") { + Error.stackTraceLimit += 6; + stackFramePattern = v8stackFramePattern; + formatStack = v8stackFormatter; + var captureStackTrace = Error.captureStackTrace; + + shouldIgnore = function(line) { + return bluebirdFramePattern.test(line); + }; + return function(receiver, ignoreUntil) { + Error.stackTraceLimit += 6; + captureStackTrace(receiver, ignoreUntil); + Error.stackTraceLimit -= 6; + }; + } + var err = new Error(); + + if (typeof err.stack === "string" && + err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) { + stackFramePattern = /@/; + formatStack = v8stackFormatter; + indentStackFrames = true; + return function captureStackTrace(o) { + o.stack = new Error().stack; + }; + } + + var hasStackAfterThrow; + try { throw new Error(); } + catch(e) { + hasStackAfterThrow = ("stack" in e); + } + if (!("stack" in err) && hasStackAfterThrow && + typeof Error.stackTraceLimit === "number") { + stackFramePattern = v8stackFramePattern; + formatStack = v8stackFormatter; + return function captureStackTrace(o) { + Error.stackTraceLimit += 6; + try { throw new Error(); } + catch(e) { o.stack = e.stack; } + Error.stackTraceLimit -= 6; + }; + } + + formatStack = function(stack, error) { + if (typeof stack === "string") return stack; + + if ((typeof error === "object" || + typeof error === "function") && + error.name !== undefined && + error.message !== undefined) { + return error.toString(); + } + return formatNonError(error); + }; + + return null; + +})([]); + +if (typeof console !== "undefined" && typeof console.warn !== "undefined") { + printWarning = function (message) { + console.warn(message); + }; + if (util.isNode && process.stderr.isTTY) { + printWarning = function(message, isSoft) { + var color = isSoft ? "\u001b[33m" : "\u001b[31m"; + console.warn(color + message + "\u001b[0m\n"); + }; + } else if (!util.isNode && typeof (new Error().stack) === "string") { + printWarning = function(message, isSoft) { + console.warn("%c" + message, + isSoft ? "color: darkorange" : "color: red"); + }; + } +} + +var config = { + warnings: warnings, + longStackTraces: false, + cancellation: false, + monitoring: false, + asyncHooks: false +}; + +if (longStackTraces) Promise.longStackTraces(); + +return { + asyncHooks: function() { + return config.asyncHooks; + }, + longStackTraces: function() { + return config.longStackTraces; + }, + warnings: function() { + return config.warnings; + }, + cancellation: function() { + return config.cancellation; + }, + monitoring: function() { + return config.monitoring; + }, + propagateFromFunction: function() { + return propagateFromFunction; + }, + boundValueFunction: function() { + return boundValueFunction; + }, + checkForgottenReturns: checkForgottenReturns, + setBounds: setBounds, + warn: warn, + deprecated: deprecated, + CapturedTrace: CapturedTrace, + fireDomEvent: fireDomEvent, + fireGlobalEvent: fireGlobalEvent +}; +}; + + +/***/ }), + +/***/ 16814: +/***/ ((module) => { + +"use strict"; + +module.exports = function(Promise) { +function returner() { + return this.value; +} +function thrower() { + throw this.reason; +} + +Promise.prototype["return"] = +Promise.prototype.thenReturn = function (value) { + if (value instanceof Promise) value.suppressUnhandledRejections(); + return this._then( + returner, undefined, undefined, {value: value}, undefined); +}; + +Promise.prototype["throw"] = +Promise.prototype.thenThrow = function (reason) { + return this._then( + thrower, undefined, undefined, {reason: reason}, undefined); +}; + +Promise.prototype.catchThrow = function (reason) { + if (arguments.length <= 1) { + return this._then( + undefined, thrower, undefined, {reason: reason}, undefined); + } else { + var _reason = arguments[1]; + var handler = function() {throw _reason;}; + return this.caught(reason, handler); + } +}; + +Promise.prototype.catchReturn = function (value) { + if (arguments.length <= 1) { + if (value instanceof Promise) value.suppressUnhandledRejections(); + return this._then( + undefined, returner, undefined, {value: value}, undefined); + } else { + var _value = arguments[1]; + if (_value instanceof Promise) _value.suppressUnhandledRejections(); + var handler = function() {return _value;}; + return this.caught(value, handler); + } +}; +}; + + +/***/ }), + +/***/ 22089: +/***/ ((module) => { + +"use strict"; + +module.exports = function(Promise, INTERNAL) { +var PromiseReduce = Promise.reduce; +var PromiseAll = Promise.all; + +function promiseAllThis() { + return PromiseAll(this); +} + +function PromiseMapSeries(promises, fn) { + return PromiseReduce(promises, fn, INTERNAL, INTERNAL); +} + +Promise.prototype.each = function (fn) { + return PromiseReduce(this, fn, INTERNAL, 0) + ._then(promiseAllThis, undefined, undefined, this, undefined); +}; + +Promise.prototype.mapSeries = function (fn) { + return PromiseReduce(this, fn, INTERNAL, INTERNAL); +}; + +Promise.each = function (promises, fn) { + return PromiseReduce(promises, fn, INTERNAL, 0) + ._then(promiseAllThis, undefined, undefined, promises, undefined); +}; + +Promise.mapSeries = PromiseMapSeries; +}; + + + +/***/ }), + +/***/ 98331: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var es5 = __nccwpck_require__(10201); +var Objectfreeze = es5.freeze; +var util = __nccwpck_require__(63704); +var inherits = util.inherits; +var notEnumerableProp = util.notEnumerableProp; + +function subError(nameProperty, defaultMessage) { + function SubError(message) { + if (!(this instanceof SubError)) return new SubError(message); + notEnumerableProp(this, "message", + typeof message === "string" ? message : defaultMessage); + notEnumerableProp(this, "name", nameProperty); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } else { + Error.call(this); + } + } + inherits(SubError, Error); + return SubError; +} + +var _TypeError, _RangeError; +var Warning = subError("Warning", "warning"); +var CancellationError = subError("CancellationError", "cancellation error"); +var TimeoutError = subError("TimeoutError", "timeout error"); +var AggregateError = subError("AggregateError", "aggregate error"); +try { + _TypeError = TypeError; + _RangeError = RangeError; +} catch(e) { + _TypeError = subError("TypeError", "type error"); + _RangeError = subError("RangeError", "range error"); +} + +var methods = ("join pop push shift unshift slice filter forEach some " + + "every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" "); + +for (var i = 0; i < methods.length; ++i) { + if (typeof Array.prototype[methods[i]] === "function") { + AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]; + } +} + +es5.defineProperty(AggregateError.prototype, "length", { + value: 0, + configurable: false, + writable: true, + enumerable: true +}); +AggregateError.prototype["isOperational"] = true; +var level = 0; +AggregateError.prototype.toString = function() { + var indent = Array(level * 4 + 1).join(" "); + var ret = "\n" + indent + "AggregateError of:" + "\n"; + level++; + indent = Array(level * 4 + 1).join(" "); + for (var i = 0; i < this.length; ++i) { + var str = this[i] === this ? "[Circular AggregateError]" : this[i] + ""; + var lines = str.split("\n"); + for (var j = 0; j < lines.length; ++j) { + lines[j] = indent + lines[j]; + } + str = lines.join("\n"); + ret += str + "\n"; + } + level--; + return ret; +}; + +function OperationalError(message) { + if (!(this instanceof OperationalError)) + return new OperationalError(message); + notEnumerableProp(this, "name", "OperationalError"); + notEnumerableProp(this, "message", message); + this.cause = message; + this["isOperational"] = true; + + if (message instanceof Error) { + notEnumerableProp(this, "message", message.message); + notEnumerableProp(this, "stack", message.stack); + } else if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + +} +inherits(OperationalError, Error); + +var errorTypes = Error["__BluebirdErrorTypes__"]; +if (!errorTypes) { + errorTypes = Objectfreeze({ + CancellationError: CancellationError, + TimeoutError: TimeoutError, + OperationalError: OperationalError, + RejectionError: OperationalError, + AggregateError: AggregateError + }); + es5.defineProperty(Error, "__BluebirdErrorTypes__", { + value: errorTypes, + writable: false, + enumerable: false, + configurable: false + }); +} + +module.exports = { + Error: Error, + TypeError: _TypeError, + RangeError: _RangeError, + CancellationError: errorTypes.CancellationError, + OperationalError: errorTypes.OperationalError, + TimeoutError: errorTypes.TimeoutError, + AggregateError: errorTypes.AggregateError, + Warning: Warning +}; + + +/***/ }), + +/***/ 10201: +/***/ ((module) => { + +var isES5 = (function(){ + "use strict"; + return this === undefined; +})(); + +if (isES5) { + module.exports = { + freeze: Object.freeze, + defineProperty: Object.defineProperty, + getDescriptor: Object.getOwnPropertyDescriptor, + keys: Object.keys, + names: Object.getOwnPropertyNames, + getPrototypeOf: Object.getPrototypeOf, + isArray: Array.isArray, + isES5: isES5, + propertyIsWritable: function(obj, prop) { + var descriptor = Object.getOwnPropertyDescriptor(obj, prop); + return !!(!descriptor || descriptor.writable || descriptor.set); + } + }; +} else { + var has = {}.hasOwnProperty; + var str = {}.toString; + var proto = {}.constructor.prototype; + + var ObjectKeys = function (o) { + var ret = []; + for (var key in o) { + if (has.call(o, key)) { + ret.push(key); + } + } + return ret; + }; + + var ObjectGetDescriptor = function(o, key) { + return {value: o[key]}; + }; + + var ObjectDefineProperty = function (o, key, desc) { + o[key] = desc.value; + return o; + }; + + var ObjectFreeze = function (obj) { + return obj; + }; + + var ObjectGetPrototypeOf = function (obj) { + try { + return Object(obj).constructor.prototype; + } + catch (e) { + return proto; + } + }; + + var ArrayIsArray = function (obj) { + try { + return str.call(obj) === "[object Array]"; + } + catch(e) { + return false; + } + }; + + module.exports = { + isArray: ArrayIsArray, + keys: ObjectKeys, + names: ObjectKeys, + defineProperty: ObjectDefineProperty, + getDescriptor: ObjectGetDescriptor, + freeze: ObjectFreeze, + getPrototypeOf: ObjectGetPrototypeOf, + isES5: isES5, + propertyIsWritable: function() { + return true; + } + }; +} + + +/***/ }), + +/***/ 59170: +/***/ ((module) => { + +"use strict"; + +module.exports = function(Promise, INTERNAL) { +var PromiseMap = Promise.map; + +Promise.prototype.filter = function (fn, options) { + return PromiseMap(this, fn, options, INTERNAL); +}; + +Promise.filter = function (promises, fn, options) { + return PromiseMap(promises, fn, options, INTERNAL); +}; +}; + + +/***/ }), + +/***/ 88841: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) { +var util = __nccwpck_require__(63704); +var CancellationError = Promise.CancellationError; +var errorObj = util.errorObj; +var catchFilter = __nccwpck_require__(91874)(NEXT_FILTER); + +function PassThroughHandlerContext(promise, type, handler) { + this.promise = promise; + this.type = type; + this.handler = handler; + this.called = false; + this.cancelPromise = null; +} + +PassThroughHandlerContext.prototype.isFinallyHandler = function() { + return this.type === 0; +}; + +function FinallyHandlerCancelReaction(finallyHandler) { + this.finallyHandler = finallyHandler; +} + +FinallyHandlerCancelReaction.prototype._resultCancelled = function() { + checkCancel(this.finallyHandler); +}; + +function checkCancel(ctx, reason) { + if (ctx.cancelPromise != null) { + if (arguments.length > 1) { + ctx.cancelPromise._reject(reason); + } else { + ctx.cancelPromise._cancel(); + } + ctx.cancelPromise = null; + return true; + } + return false; +} + +function succeed() { + return finallyHandler.call(this, this.promise._target()._settledValue()); +} +function fail(reason) { + if (checkCancel(this, reason)) return; + errorObj.e = reason; + return errorObj; +} +function finallyHandler(reasonOrValue) { + var promise = this.promise; + var handler = this.handler; + + if (!this.called) { + this.called = true; + var ret = this.isFinallyHandler() + ? handler.call(promise._boundValue()) + : handler.call(promise._boundValue(), reasonOrValue); + if (ret === NEXT_FILTER) { + return ret; + } else if (ret !== undefined) { + promise._setReturnedNonUndefined(); + var maybePromise = tryConvertToPromise(ret, promise); + if (maybePromise instanceof Promise) { + if (this.cancelPromise != null) { + if (maybePromise._isCancelled()) { + var reason = + new CancellationError("late cancellation observer"); + promise._attachExtraTrace(reason); + errorObj.e = reason; + return errorObj; + } else if (maybePromise.isPending()) { + maybePromise._attachCancellationCallback( + new FinallyHandlerCancelReaction(this)); + } + } + return maybePromise._then( + succeed, fail, undefined, this, undefined); + } + } + } + + if (promise.isRejected()) { + checkCancel(this); + errorObj.e = reasonOrValue; + return errorObj; + } else { + checkCancel(this); + return reasonOrValue; + } +} + +Promise.prototype._passThrough = function(handler, type, success, fail) { + if (typeof handler !== "function") return this.then(); + return this._then(success, + fail, + undefined, + new PassThroughHandlerContext(this, type, handler), + undefined); +}; + +Promise.prototype.lastly = +Promise.prototype["finally"] = function (handler) { + return this._passThrough(handler, + 0, + finallyHandler, + finallyHandler); +}; + + +Promise.prototype.tap = function (handler) { + return this._passThrough(handler, 1, finallyHandler); +}; + +Promise.prototype.tapCatch = function (handlerOrPredicate) { + var len = arguments.length; + if(len === 1) { + return this._passThrough(handlerOrPredicate, + 1, + undefined, + finallyHandler); + } else { + var catchInstances = new Array(len - 1), + j = 0, i; + for (i = 0; i < len - 1; ++i) { + var item = arguments[i]; + if (util.isObject(item)) { + catchInstances[j++] = item; + } else { + return Promise.reject(new TypeError( + "tapCatch statement predicate: " + + "expecting an object but got " + util.classString(item) + )); + } + } + catchInstances.length = j; + var handler = arguments[i]; + return this._passThrough(catchFilter(catchInstances, handler, this), + 1, + undefined, + finallyHandler); + } + +}; + +return PassThroughHandlerContext; +}; + + +/***/ }), + +/***/ 79342: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, + apiRejection, + INTERNAL, + tryConvertToPromise, + Proxyable, + debug) { +var errors = __nccwpck_require__(98331); +var TypeError = errors.TypeError; +var util = __nccwpck_require__(63704); +var errorObj = util.errorObj; +var tryCatch = util.tryCatch; +var yieldHandlers = []; + +function promiseFromYieldHandler(value, yieldHandlers, traceParent) { + for (var i = 0; i < yieldHandlers.length; ++i) { + traceParent._pushContext(); + var result = tryCatch(yieldHandlers[i])(value); + traceParent._popContext(); + if (result === errorObj) { + traceParent._pushContext(); + var ret = Promise.reject(errorObj.e); + traceParent._popContext(); + return ret; + } + var maybePromise = tryConvertToPromise(result, traceParent); + if (maybePromise instanceof Promise) return maybePromise; + } + return null; +} + +function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) { + if (debug.cancellation()) { + var internal = new Promise(INTERNAL); + var _finallyPromise = this._finallyPromise = new Promise(INTERNAL); + this._promise = internal.lastly(function() { + return _finallyPromise; + }); + internal._captureStackTrace(); + internal._setOnCancel(this); + } else { + var promise = this._promise = new Promise(INTERNAL); + promise._captureStackTrace(); + } + this._stack = stack; + this._generatorFunction = generatorFunction; + this._receiver = receiver; + this._generator = undefined; + this._yieldHandlers = typeof yieldHandler === "function" + ? [yieldHandler].concat(yieldHandlers) + : yieldHandlers; + this._yieldedPromise = null; + this._cancellationPhase = false; +} +util.inherits(PromiseSpawn, Proxyable); + +PromiseSpawn.prototype._isResolved = function() { + return this._promise === null; +}; + +PromiseSpawn.prototype._cleanup = function() { + this._promise = this._generator = null; + if (debug.cancellation() && this._finallyPromise !== null) { + this._finallyPromise._fulfill(); + this._finallyPromise = null; + } +}; + +PromiseSpawn.prototype._promiseCancelled = function() { + if (this._isResolved()) return; + var implementsReturn = typeof this._generator["return"] !== "undefined"; + + var result; + if (!implementsReturn) { + var reason = new Promise.CancellationError( + "generator .return() sentinel"); + Promise.coroutine.returnSentinel = reason; + this._promise._attachExtraTrace(reason); + this._promise._pushContext(); + result = tryCatch(this._generator["throw"]).call(this._generator, + reason); + this._promise._popContext(); + } else { + this._promise._pushContext(); + result = tryCatch(this._generator["return"]).call(this._generator, + undefined); + this._promise._popContext(); + } + this._cancellationPhase = true; + this._yieldedPromise = null; + this._continue(result); +}; + +PromiseSpawn.prototype._promiseFulfilled = function(value) { + this._yieldedPromise = null; + this._promise._pushContext(); + var result = tryCatch(this._generator.next).call(this._generator, value); + this._promise._popContext(); + this._continue(result); +}; + +PromiseSpawn.prototype._promiseRejected = function(reason) { + this._yieldedPromise = null; + this._promise._attachExtraTrace(reason); + this._promise._pushContext(); + var result = tryCatch(this._generator["throw"]) + .call(this._generator, reason); + this._promise._popContext(); + this._continue(result); +}; + +PromiseSpawn.prototype._resultCancelled = function() { + if (this._yieldedPromise instanceof Promise) { + var promise = this._yieldedPromise; + this._yieldedPromise = null; + promise.cancel(); + } +}; + +PromiseSpawn.prototype.promise = function () { + return this._promise; +}; + +PromiseSpawn.prototype._run = function () { + this._generator = this._generatorFunction.call(this._receiver); + this._receiver = + this._generatorFunction = undefined; + this._promiseFulfilled(undefined); +}; + +PromiseSpawn.prototype._continue = function (result) { + var promise = this._promise; + if (result === errorObj) { + this._cleanup(); + if (this._cancellationPhase) { + return promise.cancel(); + } else { + return promise._rejectCallback(result.e, false); + } + } + + var value = result.value; + if (result.done === true) { + this._cleanup(); + if (this._cancellationPhase) { + return promise.cancel(); + } else { + return promise._resolveCallback(value); + } + } else { + var maybePromise = tryConvertToPromise(value, this._promise); + if (!(maybePromise instanceof Promise)) { + maybePromise = + promiseFromYieldHandler(maybePromise, + this._yieldHandlers, + this._promise); + if (maybePromise === null) { + this._promiseRejected( + new TypeError( + "A value %s was yielded that could not be treated as a promise\u000a\u000a See http://goo.gl/MqrFmX\u000a\u000a".replace("%s", String(value)) + + "From coroutine:\u000a" + + this._stack.split("\n").slice(1, -7).join("\n") + ) + ); + return; + } + } + maybePromise = maybePromise._target(); + var bitField = maybePromise._bitField; + ; + if (((bitField & 50397184) === 0)) { + this._yieldedPromise = maybePromise; + maybePromise._proxy(this, null); + } else if (((bitField & 33554432) !== 0)) { + Promise._async.invoke( + this._promiseFulfilled, this, maybePromise._value() + ); + } else if (((bitField & 16777216) !== 0)) { + Promise._async.invoke( + this._promiseRejected, this, maybePromise._reason() + ); + } else { + this._promiseCancelled(); + } + } +}; + +Promise.coroutine = function (generatorFunction, options) { + if (typeof generatorFunction !== "function") { + throw new TypeError("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + var yieldHandler = Object(options).yieldHandler; + var PromiseSpawn$ = PromiseSpawn; + var stack = new Error().stack; + return function () { + var generator = generatorFunction.apply(this, arguments); + var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler, + stack); + var ret = spawn.promise(); + spawn._generator = generator; + spawn._promiseFulfilled(undefined); + return ret; + }; +}; + +Promise.coroutine.addYieldHandler = function(fn) { + if (typeof fn !== "function") { + throw new TypeError("expecting a function but got " + util.classString(fn)); + } + yieldHandlers.push(fn); +}; + +Promise.spawn = function (generatorFunction) { + debug.deprecated("Promise.spawn()", "Promise.coroutine()"); + if (typeof generatorFunction !== "function") { + return apiRejection("generatorFunction must be a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + var spawn = new PromiseSpawn(generatorFunction, this); + var ret = spawn.promise(); + spawn._run(Promise.spawn); + return ret; +}; +}; + + +/***/ }), + +/***/ 6572: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = +function(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async) { +var util = __nccwpck_require__(63704); +var canEvaluate = util.canEvaluate; +var tryCatch = util.tryCatch; +var errorObj = util.errorObj; +var reject; + +if (true) { +if (canEvaluate) { + var thenCallback = function(i) { + return new Function("value", "holder", " \n\ + 'use strict'; \n\ + holder.pIndex = value; \n\ + holder.checkFulfillment(this); \n\ + ".replace(/Index/g, i)); + }; + + var promiseSetter = function(i) { + return new Function("promise", "holder", " \n\ + 'use strict'; \n\ + holder.pIndex = promise; \n\ + ".replace(/Index/g, i)); + }; + + var generateHolderClass = function(total) { + var props = new Array(total); + for (var i = 0; i < props.length; ++i) { + props[i] = "this.p" + (i+1); + } + var assignment = props.join(" = ") + " = null;"; + var cancellationCode= "var promise;\n" + props.map(function(prop) { + return " \n\ + promise = " + prop + "; \n\ + if (promise instanceof Promise) { \n\ + promise.cancel(); \n\ + } \n\ + "; + }).join("\n"); + var passedArguments = props.join(", "); + var name = "Holder$" + total; + + + var code = "return function(tryCatch, errorObj, Promise, async) { \n\ + 'use strict'; \n\ + function [TheName](fn) { \n\ + [TheProperties] \n\ + this.fn = fn; \n\ + this.asyncNeeded = true; \n\ + this.now = 0; \n\ + } \n\ + \n\ + [TheName].prototype._callFunction = function(promise) { \n\ + promise._pushContext(); \n\ + var ret = tryCatch(this.fn)([ThePassedArguments]); \n\ + promise._popContext(); \n\ + if (ret === errorObj) { \n\ + promise._rejectCallback(ret.e, false); \n\ + } else { \n\ + promise._resolveCallback(ret); \n\ + } \n\ + }; \n\ + \n\ + [TheName].prototype.checkFulfillment = function(promise) { \n\ + var now = ++this.now; \n\ + if (now === [TheTotal]) { \n\ + if (this.asyncNeeded) { \n\ + async.invoke(this._callFunction, this, promise); \n\ + } else { \n\ + this._callFunction(promise); \n\ + } \n\ + \n\ + } \n\ + }; \n\ + \n\ + [TheName].prototype._resultCancelled = function() { \n\ + [CancellationCode] \n\ + }; \n\ + \n\ + return [TheName]; \n\ + }(tryCatch, errorObj, Promise, async); \n\ + "; + + code = code.replace(/\[TheName\]/g, name) + .replace(/\[TheTotal\]/g, total) + .replace(/\[ThePassedArguments\]/g, passedArguments) + .replace(/\[TheProperties\]/g, assignment) + .replace(/\[CancellationCode\]/g, cancellationCode); + + return new Function("tryCatch", "errorObj", "Promise", "async", code) + (tryCatch, errorObj, Promise, async); + }; + + var holderClasses = []; + var thenCallbacks = []; + var promiseSetters = []; + + for (var i = 0; i < 8; ++i) { + holderClasses.push(generateHolderClass(i + 1)); + thenCallbacks.push(thenCallback(i + 1)); + promiseSetters.push(promiseSetter(i + 1)); + } + + reject = function (reason) { + this._reject(reason); + }; +}} + +Promise.join = function () { + var last = arguments.length - 1; + var fn; + if (last > 0 && typeof arguments[last] === "function") { + fn = arguments[last]; + if (true) { + if (last <= 8 && canEvaluate) { + var ret = new Promise(INTERNAL); + ret._captureStackTrace(); + var HolderClass = holderClasses[last - 1]; + var holder = new HolderClass(fn); + var callbacks = thenCallbacks; + + for (var i = 0; i < last; ++i) { + var maybePromise = tryConvertToPromise(arguments[i], ret); + if (maybePromise instanceof Promise) { + maybePromise = maybePromise._target(); + var bitField = maybePromise._bitField; + ; + if (((bitField & 50397184) === 0)) { + maybePromise._then(callbacks[i], reject, + undefined, ret, holder); + promiseSetters[i](maybePromise, holder); + holder.asyncNeeded = false; + } else if (((bitField & 33554432) !== 0)) { + callbacks[i].call(ret, + maybePromise._value(), holder); + } else if (((bitField & 16777216) !== 0)) { + ret._reject(maybePromise._reason()); + } else { + ret._cancel(); + } + } else { + callbacks[i].call(ret, maybePromise, holder); + } + } + + if (!ret._isFateSealed()) { + if (holder.asyncNeeded) { + var context = Promise._getContext(); + holder.fn = util.contextBind(context, holder.fn); + } + ret._setAsyncGuaranteed(); + ret._setOnCancel(holder); + } + return ret; + } + } + } + var $_len = arguments.length;var args = new Array($_len); for(var $_i = 0; $_i < $_len ; ++$_i) {args[$_i] = arguments[$_i ];}; + if (fn) args.pop(); + var ret = new PromiseArray(args).promise(); + return fn !== undefined ? ret.spread(fn) : ret; +}; + +}; + + +/***/ }), + +/***/ 51260: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, + PromiseArray, + apiRejection, + tryConvertToPromise, + INTERNAL, + debug) { +var util = __nccwpck_require__(63704); +var tryCatch = util.tryCatch; +var errorObj = util.errorObj; +var async = Promise._async; + +function MappingPromiseArray(promises, fn, limit, _filter) { + this.constructor$(promises); + this._promise._captureStackTrace(); + var context = Promise._getContext(); + this._callback = util.contextBind(context, fn); + this._preservedValues = _filter === INTERNAL + ? new Array(this.length()) + : null; + this._limit = limit; + this._inFlight = 0; + this._queue = []; + async.invoke(this._asyncInit, this, undefined); + if (util.isArray(promises)) { + for (var i = 0; i < promises.length; ++i) { + var maybePromise = promises[i]; + if (maybePromise instanceof Promise) { + maybePromise.suppressUnhandledRejections(); + } + } + } +} +util.inherits(MappingPromiseArray, PromiseArray); + +MappingPromiseArray.prototype._asyncInit = function() { + this._init$(undefined, -2); +}; + +MappingPromiseArray.prototype._init = function () {}; + +MappingPromiseArray.prototype._promiseFulfilled = function (value, index) { + var values = this._values; + var length = this.length(); + var preservedValues = this._preservedValues; + var limit = this._limit; + + if (index < 0) { + index = (index * -1) - 1; + values[index] = value; + if (limit >= 1) { + this._inFlight--; + this._drainQueue(); + if (this._isResolved()) return true; + } + } else { + if (limit >= 1 && this._inFlight >= limit) { + values[index] = value; + this._queue.push(index); + return false; + } + if (preservedValues !== null) preservedValues[index] = value; + + var promise = this._promise; + var callback = this._callback; + var receiver = promise._boundValue(); + promise._pushContext(); + var ret = tryCatch(callback).call(receiver, value, index, length); + var promiseCreated = promise._popContext(); + debug.checkForgottenReturns( + ret, + promiseCreated, + preservedValues !== null ? "Promise.filter" : "Promise.map", + promise + ); + if (ret === errorObj) { + this._reject(ret.e); + return true; + } + + var maybePromise = tryConvertToPromise(ret, this._promise); + if (maybePromise instanceof Promise) { + maybePromise = maybePromise._target(); + var bitField = maybePromise._bitField; + ; + if (((bitField & 50397184) === 0)) { + if (limit >= 1) this._inFlight++; + values[index] = maybePromise; + maybePromise._proxy(this, (index + 1) * -1); + return false; + } else if (((bitField & 33554432) !== 0)) { + ret = maybePromise._value(); + } else if (((bitField & 16777216) !== 0)) { + this._reject(maybePromise._reason()); + return true; + } else { + this._cancel(); + return true; + } + } + values[index] = ret; + } + var totalResolved = ++this._totalResolved; + if (totalResolved >= length) { + if (preservedValues !== null) { + this._filter(values, preservedValues); + } else { + this._resolve(values); + } + return true; + } + return false; +}; + +MappingPromiseArray.prototype._drainQueue = function () { + var queue = this._queue; + var limit = this._limit; + var values = this._values; + while (queue.length > 0 && this._inFlight < limit) { + if (this._isResolved()) return; + var index = queue.pop(); + this._promiseFulfilled(values[index], index); + } +}; + +MappingPromiseArray.prototype._filter = function (booleans, values) { + var len = values.length; + var ret = new Array(len); + var j = 0; + for (var i = 0; i < len; ++i) { + if (booleans[i]) ret[j++] = values[i]; + } + ret.length = j; + this._resolve(ret); +}; + +MappingPromiseArray.prototype.preservedValues = function () { + return this._preservedValues; +}; + +function map(promises, fn, options, _filter) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + + var limit = 0; + if (options !== undefined) { + if (typeof options === "object" && options !== null) { + if (typeof options.concurrency !== "number") { + return Promise.reject( + new TypeError("'concurrency' must be a number but it is " + + util.classString(options.concurrency))); + } + limit = options.concurrency; + } else { + return Promise.reject(new TypeError( + "options argument must be an object but it is " + + util.classString(options))); + } + } + limit = typeof limit === "number" && + isFinite(limit) && limit >= 1 ? limit : 0; + return new MappingPromiseArray(promises, fn, limit, _filter).promise(); +} + +Promise.prototype.map = function (fn, options) { + return map(this, fn, options, null); +}; + +Promise.map = function (promises, fn, options, _filter) { + return map(promises, fn, options, _filter); +}; + + +}; + + +/***/ }), + +/***/ 5881: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = +function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { +var util = __nccwpck_require__(63704); +var tryCatch = util.tryCatch; + +Promise.method = function (fn) { + if (typeof fn !== "function") { + throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); + } + return function () { + var ret = new Promise(INTERNAL); + ret._captureStackTrace(); + ret._pushContext(); + var value = tryCatch(fn).apply(this, arguments); + var promiseCreated = ret._popContext(); + debug.checkForgottenReturns( + value, promiseCreated, "Promise.method", ret); + ret._resolveFromSyncValue(value); + return ret; + }; +}; + +Promise.attempt = Promise["try"] = function (fn) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + var ret = new Promise(INTERNAL); + ret._captureStackTrace(); + ret._pushContext(); + var value; + if (arguments.length > 1) { + debug.deprecated("calling Promise.try with more than 1 argument"); + var arg = arguments[1]; + var ctx = arguments[2]; + value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) + : tryCatch(fn).call(ctx, arg); + } else { + value = tryCatch(fn)(); + } + var promiseCreated = ret._popContext(); + debug.checkForgottenReturns( + value, promiseCreated, "Promise.try", ret); + ret._resolveFromSyncValue(value); + return ret; +}; + +Promise.prototype._resolveFromSyncValue = function (value) { + if (value === util.errorObj) { + this._rejectCallback(value.e, false); + } else { + this._resolveCallback(value, true); + } +}; +}; + + +/***/ }), + +/***/ 17703: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var util = __nccwpck_require__(63704); +var maybeWrapAsError = util.maybeWrapAsError; +var errors = __nccwpck_require__(98331); +var OperationalError = errors.OperationalError; +var es5 = __nccwpck_require__(10201); + +function isUntypedError(obj) { + return obj instanceof Error && + es5.getPrototypeOf(obj) === Error.prototype; +} + +var rErrorKey = /^(?:name|message|stack|cause)$/; +function wrapAsOperationalError(obj) { + var ret; + if (isUntypedError(obj)) { + ret = new OperationalError(obj); + ret.name = obj.name; + ret.message = obj.message; + ret.stack = obj.stack; + var keys = es5.keys(obj); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + if (!rErrorKey.test(key)) { + ret[key] = obj[key]; + } + } + return ret; + } + util.markAsOriginatingFromRejection(obj); + return obj; +} + +function nodebackForPromise(promise, multiArgs) { + return function(err, value) { + if (promise === null) return; + if (err) { + var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); + promise._attachExtraTrace(wrapped); + promise._reject(wrapped); + } else if (!multiArgs) { + promise._fulfill(value); + } else { + var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];}; + promise._fulfill(args); + } + promise = null; + }; +} + +module.exports = nodebackForPromise; + + +/***/ }), + +/***/ 58412: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise) { +var util = __nccwpck_require__(63704); +var async = Promise._async; +var tryCatch = util.tryCatch; +var errorObj = util.errorObj; + +function spreadAdapter(val, nodeback) { + var promise = this; + if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback); + var ret = + tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val)); + if (ret === errorObj) { + async.throwLater(ret.e); + } +} + +function successAdapter(val, nodeback) { + var promise = this; + var receiver = promise._boundValue(); + var ret = val === undefined + ? tryCatch(nodeback).call(receiver, null) + : tryCatch(nodeback).call(receiver, null, val); + if (ret === errorObj) { + async.throwLater(ret.e); + } +} +function errorAdapter(reason, nodeback) { + var promise = this; + if (!reason) { + var newReason = new Error(reason + ""); + newReason.cause = reason; + reason = newReason; + } + var ret = tryCatch(nodeback).call(promise._boundValue(), reason); + if (ret === errorObj) { + async.throwLater(ret.e); + } +} + +Promise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback, + options) { + if (typeof nodeback == "function") { + var adapter = successAdapter; + if (options !== undefined && Object(options).spread) { + adapter = spreadAdapter; + } + this._then( + adapter, + errorAdapter, + undefined, + this, + nodeback + ); + } + return this; +}; +}; + + +/***/ }), + +/***/ 83571: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function() { +var makeSelfResolutionError = function () { + return new TypeError("circular promise resolution chain\u000a\u000a See http://goo.gl/MqrFmX\u000a"); +}; +var reflectHandler = function() { + return new Promise.PromiseInspection(this._target()); +}; +var apiRejection = function(msg) { + return Promise.reject(new TypeError(msg)); +}; +function Proxyable() {} +var UNDEFINED_BINDING = {}; +var util = __nccwpck_require__(63704); +util.setReflectHandler(reflectHandler); + +var getDomain = function() { + var domain = process.domain; + if (domain === undefined) { + return null; + } + return domain; +}; +var getContextDefault = function() { + return null; +}; +var getContextDomain = function() { + return { + domain: getDomain(), + async: null + }; +}; +var AsyncResource = util.isNode && util.nodeSupportsAsyncResource ? + (__nccwpck_require__(90290).AsyncResource) : null; +var getContextAsyncHooks = function() { + return { + domain: getDomain(), + async: new AsyncResource("Bluebird::Promise") + }; +}; +var getContext = util.isNode ? getContextDomain : getContextDefault; +util.notEnumerableProp(Promise, "_getContext", getContext); +var enableAsyncHooks = function() { + getContext = getContextAsyncHooks; + util.notEnumerableProp(Promise, "_getContext", getContextAsyncHooks); +}; +var disableAsyncHooks = function() { + getContext = getContextDomain; + util.notEnumerableProp(Promise, "_getContext", getContextDomain); +}; + +var es5 = __nccwpck_require__(10201); +var Async = __nccwpck_require__(96746); +var async = new Async(); +es5.defineProperty(Promise, "_async", {value: async}); +var errors = __nccwpck_require__(98331); +var TypeError = Promise.TypeError = errors.TypeError; +Promise.RangeError = errors.RangeError; +var CancellationError = Promise.CancellationError = errors.CancellationError; +Promise.TimeoutError = errors.TimeoutError; +Promise.OperationalError = errors.OperationalError; +Promise.RejectionError = errors.OperationalError; +Promise.AggregateError = errors.AggregateError; +var INTERNAL = function(){}; +var APPLY = {}; +var NEXT_FILTER = {}; +var tryConvertToPromise = __nccwpck_require__(82822)(Promise, INTERNAL); +var PromiseArray = + __nccwpck_require__(1629)(Promise, INTERNAL, + tryConvertToPromise, apiRejection, Proxyable); +var Context = __nccwpck_require__(53217)(Promise); + /*jshint unused:false*/ +var createContext = Context.create; + +var debug = __nccwpck_require__(73700)(Promise, Context, + enableAsyncHooks, disableAsyncHooks); +var CapturedTrace = debug.CapturedTrace; +var PassThroughHandlerContext = + __nccwpck_require__(88841)(Promise, tryConvertToPromise, NEXT_FILTER); +var catchFilter = __nccwpck_require__(91874)(NEXT_FILTER); +var nodebackForPromise = __nccwpck_require__(17703); +var errorObj = util.errorObj; +var tryCatch = util.tryCatch; +function check(self, executor) { + if (self == null || self.constructor !== Promise) { + throw new TypeError("the promise constructor cannot be invoked directly\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + if (typeof executor !== "function") { + throw new TypeError("expecting a function but got " + util.classString(executor)); + } + +} + +function Promise(executor) { + if (executor !== INTERNAL) { + check(this, executor); + } + this._bitField = 0; + this._fulfillmentHandler0 = undefined; + this._rejectionHandler0 = undefined; + this._promise0 = undefined; + this._receiver0 = undefined; + this._resolveFromExecutor(executor); + this._promiseCreated(); + this._fireEvent("promiseCreated", this); +} + +Promise.prototype.toString = function () { + return "[object Promise]"; +}; + +Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { + var len = arguments.length; + if (len > 1) { + var catchInstances = new Array(len - 1), + j = 0, i; + for (i = 0; i < len - 1; ++i) { + var item = arguments[i]; + if (util.isObject(item)) { + catchInstances[j++] = item; + } else { + return apiRejection("Catch statement predicate: " + + "expecting an object but got " + util.classString(item)); + } + } + catchInstances.length = j; + fn = arguments[i]; + + if (typeof fn !== "function") { + throw new TypeError("The last argument to .catch() " + + "must be a function, got " + util.toString(fn)); + } + return this.then(undefined, catchFilter(catchInstances, fn, this)); + } + return this.then(undefined, fn); +}; + +Promise.prototype.reflect = function () { + return this._then(reflectHandler, + reflectHandler, undefined, this, undefined); +}; + +Promise.prototype.then = function (didFulfill, didReject) { + if (debug.warnings() && arguments.length > 0 && + typeof didFulfill !== "function" && + typeof didReject !== "function") { + var msg = ".then() only accepts functions but was passed: " + + util.classString(didFulfill); + if (arguments.length > 1) { + msg += ", " + util.classString(didReject); + } + this._warn(msg); + } + return this._then(didFulfill, didReject, undefined, undefined, undefined); +}; + +Promise.prototype.done = function (didFulfill, didReject) { + var promise = + this._then(didFulfill, didReject, undefined, undefined, undefined); + promise._setIsFinal(); +}; + +Promise.prototype.spread = function (fn) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + return this.all()._then(fn, undefined, undefined, APPLY, undefined); +}; + +Promise.prototype.toJSON = function () { + var ret = { + isFulfilled: false, + isRejected: false, + fulfillmentValue: undefined, + rejectionReason: undefined + }; + if (this.isFulfilled()) { + ret.fulfillmentValue = this.value(); + ret.isFulfilled = true; + } else if (this.isRejected()) { + ret.rejectionReason = this.reason(); + ret.isRejected = true; + } + return ret; +}; + +Promise.prototype.all = function () { + if (arguments.length > 0) { + this._warn(".all() was passed arguments but it does not take any"); + } + return new PromiseArray(this).promise(); +}; + +Promise.prototype.error = function (fn) { + return this.caught(util.originatesFromRejection, fn); +}; + +Promise.getNewLibraryCopy = module.exports; + +Promise.is = function (val) { + return val instanceof Promise; +}; + +Promise.fromNode = Promise.fromCallback = function(fn) { + var ret = new Promise(INTERNAL); + ret._captureStackTrace(); + var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs + : false; + var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); + if (result === errorObj) { + ret._rejectCallback(result.e, true); + } + if (!ret._isFateSealed()) ret._setAsyncGuaranteed(); + return ret; +}; + +Promise.all = function (promises) { + return new PromiseArray(promises).promise(); +}; + +Promise.cast = function (obj) { + var ret = tryConvertToPromise(obj); + if (!(ret instanceof Promise)) { + ret = new Promise(INTERNAL); + ret._captureStackTrace(); + ret._setFulfilled(); + ret._rejectionHandler0 = obj; + } + return ret; +}; + +Promise.resolve = Promise.fulfilled = Promise.cast; + +Promise.reject = Promise.rejected = function (reason) { + var ret = new Promise(INTERNAL); + ret._captureStackTrace(); + ret._rejectCallback(reason, true); + return ret; +}; + +Promise.setScheduler = function(fn) { + if (typeof fn !== "function") { + throw new TypeError("expecting a function but got " + util.classString(fn)); + } + return async.setScheduler(fn); +}; + +Promise.prototype._then = function ( + didFulfill, + didReject, + _, receiver, + internalData +) { + var haveInternalData = internalData !== undefined; + var promise = haveInternalData ? internalData : new Promise(INTERNAL); + var target = this._target(); + var bitField = target._bitField; + + if (!haveInternalData) { + promise._propagateFrom(this, 3); + promise._captureStackTrace(); + if (receiver === undefined && + ((this._bitField & 2097152) !== 0)) { + if (!((bitField & 50397184) === 0)) { + receiver = this._boundValue(); + } else { + receiver = target === this ? undefined : this._boundTo; + } + } + this._fireEvent("promiseChained", this, promise); + } + + var context = getContext(); + if (!((bitField & 50397184) === 0)) { + var handler, value, settler = target._settlePromiseCtx; + if (((bitField & 33554432) !== 0)) { + value = target._rejectionHandler0; + handler = didFulfill; + } else if (((bitField & 16777216) !== 0)) { + value = target._fulfillmentHandler0; + handler = didReject; + target._unsetRejectionIsUnhandled(); + } else { + settler = target._settlePromiseLateCancellationObserver; + value = new CancellationError("late cancellation observer"); + target._attachExtraTrace(value); + handler = didReject; + } + + async.invoke(settler, target, { + handler: util.contextBind(context, handler), + promise: promise, + receiver: receiver, + value: value + }); + } else { + target._addCallbacks(didFulfill, didReject, promise, + receiver, context); + } + + return promise; +}; + +Promise.prototype._length = function () { + return this._bitField & 65535; +}; + +Promise.prototype._isFateSealed = function () { + return (this._bitField & 117506048) !== 0; +}; + +Promise.prototype._isFollowing = function () { + return (this._bitField & 67108864) === 67108864; +}; + +Promise.prototype._setLength = function (len) { + this._bitField = (this._bitField & -65536) | + (len & 65535); +}; + +Promise.prototype._setFulfilled = function () { + this._bitField = this._bitField | 33554432; + this._fireEvent("promiseFulfilled", this); +}; + +Promise.prototype._setRejected = function () { + this._bitField = this._bitField | 16777216; + this._fireEvent("promiseRejected", this); +}; + +Promise.prototype._setFollowing = function () { + this._bitField = this._bitField | 67108864; + this._fireEvent("promiseResolved", this); +}; + +Promise.prototype._setIsFinal = function () { + this._bitField = this._bitField | 4194304; +}; + +Promise.prototype._isFinal = function () { + return (this._bitField & 4194304) > 0; +}; + +Promise.prototype._unsetCancelled = function() { + this._bitField = this._bitField & (~65536); +}; + +Promise.prototype._setCancelled = function() { + this._bitField = this._bitField | 65536; + this._fireEvent("promiseCancelled", this); +}; + +Promise.prototype._setWillBeCancelled = function() { + this._bitField = this._bitField | 8388608; +}; + +Promise.prototype._setAsyncGuaranteed = function() { + if (async.hasCustomScheduler()) return; + var bitField = this._bitField; + this._bitField = bitField | + (((bitField & 536870912) >> 2) ^ + 134217728); +}; + +Promise.prototype._setNoAsyncGuarantee = function() { + this._bitField = (this._bitField | 536870912) & + (~134217728); +}; + +Promise.prototype._receiverAt = function (index) { + var ret = index === 0 ? this._receiver0 : this[ + index * 4 - 4 + 3]; + if (ret === UNDEFINED_BINDING) { + return undefined; + } else if (ret === undefined && this._isBound()) { + return this._boundValue(); + } + return ret; +}; + +Promise.prototype._promiseAt = function (index) { + return this[ + index * 4 - 4 + 2]; +}; + +Promise.prototype._fulfillmentHandlerAt = function (index) { + return this[ + index * 4 - 4 + 0]; +}; + +Promise.prototype._rejectionHandlerAt = function (index) { + return this[ + index * 4 - 4 + 1]; +}; + +Promise.prototype._boundValue = function() {}; + +Promise.prototype._migrateCallback0 = function (follower) { + var bitField = follower._bitField; + var fulfill = follower._fulfillmentHandler0; + var reject = follower._rejectionHandler0; + var promise = follower._promise0; + var receiver = follower._receiverAt(0); + if (receiver === undefined) receiver = UNDEFINED_BINDING; + this._addCallbacks(fulfill, reject, promise, receiver, null); +}; + +Promise.prototype._migrateCallbackAt = function (follower, index) { + var fulfill = follower._fulfillmentHandlerAt(index); + var reject = follower._rejectionHandlerAt(index); + var promise = follower._promiseAt(index); + var receiver = follower._receiverAt(index); + if (receiver === undefined) receiver = UNDEFINED_BINDING; + this._addCallbacks(fulfill, reject, promise, receiver, null); +}; + +Promise.prototype._addCallbacks = function ( + fulfill, + reject, + promise, + receiver, + context +) { + var index = this._length(); + + if (index >= 65535 - 4) { + index = 0; + this._setLength(0); + } + + if (index === 0) { + this._promise0 = promise; + this._receiver0 = receiver; + if (typeof fulfill === "function") { + this._fulfillmentHandler0 = util.contextBind(context, fulfill); + } + if (typeof reject === "function") { + this._rejectionHandler0 = util.contextBind(context, reject); + } + } else { + var base = index * 4 - 4; + this[base + 2] = promise; + this[base + 3] = receiver; + if (typeof fulfill === "function") { + this[base + 0] = + util.contextBind(context, fulfill); + } + if (typeof reject === "function") { + this[base + 1] = + util.contextBind(context, reject); + } + } + this._setLength(index + 1); + return index; +}; + +Promise.prototype._proxy = function (proxyable, arg) { + this._addCallbacks(undefined, undefined, arg, proxyable, null); +}; + +Promise.prototype._resolveCallback = function(value, shouldBind) { + if (((this._bitField & 117506048) !== 0)) return; + if (value === this) + return this._rejectCallback(makeSelfResolutionError(), false); + var maybePromise = tryConvertToPromise(value, this); + if (!(maybePromise instanceof Promise)) return this._fulfill(value); + + if (shouldBind) this._propagateFrom(maybePromise, 2); + + + var promise = maybePromise._target(); + + if (promise === this) { + this._reject(makeSelfResolutionError()); + return; + } + + var bitField = promise._bitField; + if (((bitField & 50397184) === 0)) { + var len = this._length(); + if (len > 0) promise._migrateCallback0(this); + for (var i = 1; i < len; ++i) { + promise._migrateCallbackAt(this, i); + } + this._setFollowing(); + this._setLength(0); + this._setFollowee(maybePromise); + } else if (((bitField & 33554432) !== 0)) { + this._fulfill(promise._value()); + } else if (((bitField & 16777216) !== 0)) { + this._reject(promise._reason()); + } else { + var reason = new CancellationError("late cancellation observer"); + promise._attachExtraTrace(reason); + this._reject(reason); + } +}; + +Promise.prototype._rejectCallback = +function(reason, synchronous, ignoreNonErrorWarnings) { + var trace = util.ensureErrorObject(reason); + var hasStack = trace === reason; + if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { + var message = "a promise was rejected with a non-error: " + + util.classString(reason); + this._warn(message, true); + } + this._attachExtraTrace(trace, synchronous ? hasStack : false); + this._reject(reason); +}; + +Promise.prototype._resolveFromExecutor = function (executor) { + if (executor === INTERNAL) return; + var promise = this; + this._captureStackTrace(); + this._pushContext(); + var synchronous = true; + var r = this._execute(executor, function(value) { + promise._resolveCallback(value); + }, function (reason) { + promise._rejectCallback(reason, synchronous); + }); + synchronous = false; + this._popContext(); + + if (r !== undefined) { + promise._rejectCallback(r, true); + } +}; + +Promise.prototype._settlePromiseFromHandler = function ( + handler, receiver, value, promise +) { + var bitField = promise._bitField; + if (((bitField & 65536) !== 0)) return; + promise._pushContext(); + var x; + if (receiver === APPLY) { + if (!value || typeof value.length !== "number") { + x = errorObj; + x.e = new TypeError("cannot .spread() a non-array: " + + util.classString(value)); + } else { + x = tryCatch(handler).apply(this._boundValue(), value); + } + } else { + x = tryCatch(handler).call(receiver, value); + } + var promiseCreated = promise._popContext(); + bitField = promise._bitField; + if (((bitField & 65536) !== 0)) return; + + if (x === NEXT_FILTER) { + promise._reject(value); + } else if (x === errorObj) { + promise._rejectCallback(x.e, false); + } else { + debug.checkForgottenReturns(x, promiseCreated, "", promise, this); + promise._resolveCallback(x); + } +}; + +Promise.prototype._target = function() { + var ret = this; + while (ret._isFollowing()) ret = ret._followee(); + return ret; +}; + +Promise.prototype._followee = function() { + return this._rejectionHandler0; +}; + +Promise.prototype._setFollowee = function(promise) { + this._rejectionHandler0 = promise; +}; + +Promise.prototype._settlePromise = function(promise, handler, receiver, value) { + var isPromise = promise instanceof Promise; + var bitField = this._bitField; + var asyncGuaranteed = ((bitField & 134217728) !== 0); + if (((bitField & 65536) !== 0)) { + if (isPromise) promise._invokeInternalOnCancel(); + + if (receiver instanceof PassThroughHandlerContext && + receiver.isFinallyHandler()) { + receiver.cancelPromise = promise; + if (tryCatch(handler).call(receiver, value) === errorObj) { + promise._reject(errorObj.e); + } + } else if (handler === reflectHandler) { + promise._fulfill(reflectHandler.call(receiver)); + } else if (receiver instanceof Proxyable) { + receiver._promiseCancelled(promise); + } else if (isPromise || promise instanceof PromiseArray) { + promise._cancel(); + } else { + receiver.cancel(); + } + } else if (typeof handler === "function") { + if (!isPromise) { + handler.call(receiver, value, promise); + } else { + if (asyncGuaranteed) promise._setAsyncGuaranteed(); + this._settlePromiseFromHandler(handler, receiver, value, promise); + } + } else if (receiver instanceof Proxyable) { + if (!receiver._isResolved()) { + if (((bitField & 33554432) !== 0)) { + receiver._promiseFulfilled(value, promise); + } else { + receiver._promiseRejected(value, promise); + } + } + } else if (isPromise) { + if (asyncGuaranteed) promise._setAsyncGuaranteed(); + if (((bitField & 33554432) !== 0)) { + promise._fulfill(value); + } else { + promise._reject(value); + } + } +}; + +Promise.prototype._settlePromiseLateCancellationObserver = function(ctx) { + var handler = ctx.handler; + var promise = ctx.promise; + var receiver = ctx.receiver; + var value = ctx.value; + if (typeof handler === "function") { + if (!(promise instanceof Promise)) { + handler.call(receiver, value, promise); + } else { + this._settlePromiseFromHandler(handler, receiver, value, promise); + } + } else if (promise instanceof Promise) { + promise._reject(value); + } +}; + +Promise.prototype._settlePromiseCtx = function(ctx) { + this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); +}; + +Promise.prototype._settlePromise0 = function(handler, value, bitField) { + var promise = this._promise0; + var receiver = this._receiverAt(0); + this._promise0 = undefined; + this._receiver0 = undefined; + this._settlePromise(promise, handler, receiver, value); +}; + +Promise.prototype._clearCallbackDataAtIndex = function(index) { + var base = index * 4 - 4; + this[base + 2] = + this[base + 3] = + this[base + 0] = + this[base + 1] = undefined; +}; + +Promise.prototype._fulfill = function (value) { + var bitField = this._bitField; + if (((bitField & 117506048) >>> 16)) return; + if (value === this) { + var err = makeSelfResolutionError(); + this._attachExtraTrace(err); + return this._reject(err); + } + this._setFulfilled(); + this._rejectionHandler0 = value; + + if ((bitField & 65535) > 0) { + if (((bitField & 134217728) !== 0)) { + this._settlePromises(); + } else { + async.settlePromises(this); + } + this._dereferenceTrace(); + } +}; + +Promise.prototype._reject = function (reason) { + var bitField = this._bitField; + if (((bitField & 117506048) >>> 16)) return; + this._setRejected(); + this._fulfillmentHandler0 = reason; + + if (this._isFinal()) { + return async.fatalError(reason, util.isNode); + } + + if ((bitField & 65535) > 0) { + async.settlePromises(this); + } else { + this._ensurePossibleRejectionHandled(); + } +}; + +Promise.prototype._fulfillPromises = function (len, value) { + for (var i = 1; i < len; i++) { + var handler = this._fulfillmentHandlerAt(i); + var promise = this._promiseAt(i); + var receiver = this._receiverAt(i); + this._clearCallbackDataAtIndex(i); + this._settlePromise(promise, handler, receiver, value); + } +}; + +Promise.prototype._rejectPromises = function (len, reason) { + for (var i = 1; i < len; i++) { + var handler = this._rejectionHandlerAt(i); + var promise = this._promiseAt(i); + var receiver = this._receiverAt(i); + this._clearCallbackDataAtIndex(i); + this._settlePromise(promise, handler, receiver, reason); + } +}; + +Promise.prototype._settlePromises = function () { + var bitField = this._bitField; + var len = (bitField & 65535); + + if (len > 0) { + if (((bitField & 16842752) !== 0)) { + var reason = this._fulfillmentHandler0; + this._settlePromise0(this._rejectionHandler0, reason, bitField); + this._rejectPromises(len, reason); + } else { + var value = this._rejectionHandler0; + this._settlePromise0(this._fulfillmentHandler0, value, bitField); + this._fulfillPromises(len, value); + } + this._setLength(0); + } + this._clearCancellationData(); +}; + +Promise.prototype._settledValue = function() { + var bitField = this._bitField; + if (((bitField & 33554432) !== 0)) { + return this._rejectionHandler0; + } else if (((bitField & 16777216) !== 0)) { + return this._fulfillmentHandler0; + } +}; + +if (typeof Symbol !== "undefined" && Symbol.toStringTag) { + es5.defineProperty(Promise.prototype, Symbol.toStringTag, { + get: function () { + return "Object"; + } + }); +} + +function deferResolve(v) {this.promise._resolveCallback(v);} +function deferReject(v) {this.promise._rejectCallback(v, false);} + +Promise.defer = Promise.pending = function() { + debug.deprecated("Promise.defer", "new Promise"); + var promise = new Promise(INTERNAL); + return { + promise: promise, + resolve: deferResolve, + reject: deferReject + }; +}; + +util.notEnumerableProp(Promise, + "_makeSelfResolutionError", + makeSelfResolutionError); + +__nccwpck_require__(5881)(Promise, INTERNAL, tryConvertToPromise, apiRejection, + debug); +__nccwpck_require__(21543)(Promise, INTERNAL, tryConvertToPromise, debug); +__nccwpck_require__(92346)(Promise, PromiseArray, apiRejection, debug); +__nccwpck_require__(16814)(Promise); +__nccwpck_require__(11676)(Promise); +__nccwpck_require__(6572)( + Promise, PromiseArray, tryConvertToPromise, INTERNAL, async); +Promise.Promise = Promise; +Promise.version = "3.7.2"; +__nccwpck_require__(92467)(Promise); +__nccwpck_require__(79342)(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug); +__nccwpck_require__(51260)(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); +__nccwpck_require__(58412)(Promise); +__nccwpck_require__(30162)(Promise, INTERNAL); +__nccwpck_require__(74264)(Promise, PromiseArray, tryConvertToPromise, apiRejection); +__nccwpck_require__(21421)(Promise, INTERNAL, tryConvertToPromise, apiRejection); +__nccwpck_require__(76090)(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); +__nccwpck_require__(12095)(Promise, PromiseArray, debug); +__nccwpck_require__(42800)(Promise, PromiseArray, apiRejection); +__nccwpck_require__(46110)(Promise, INTERNAL, debug); +__nccwpck_require__(95578)(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug); +__nccwpck_require__(98924)(Promise); +__nccwpck_require__(22089)(Promise, INTERNAL); +__nccwpck_require__(59170)(Promise, INTERNAL); + + util.toFastProperties(Promise); + util.toFastProperties(Promise.prototype); + function fillTypes(value) { + var p = new Promise(INTERNAL); + p._fulfillmentHandler0 = value; + p._rejectionHandler0 = value; + p._promise0 = value; + p._receiver0 = value; + } + // Complete slack tracking, opt out of field-type tracking and + // stabilize map + fillTypes({a: 1}); + fillTypes({b: 2}); + fillTypes({c: 3}); + fillTypes(1); + fillTypes(function(){}); + fillTypes(undefined); + fillTypes(false); + fillTypes(new Promise(INTERNAL)); + debug.setBounds(Async.firstLineError, util.lastLineError); + return Promise; + +}; + + +/***/ }), + +/***/ 1629: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, INTERNAL, tryConvertToPromise, + apiRejection, Proxyable) { +var util = __nccwpck_require__(63704); +var isArray = util.isArray; + +function toResolutionValue(val) { + switch(val) { + case -2: return []; + case -3: return {}; + case -6: return new Map(); + } +} + +function PromiseArray(values) { + var promise = this._promise = new Promise(INTERNAL); + if (values instanceof Promise) { + promise._propagateFrom(values, 3); + values.suppressUnhandledRejections(); + } + promise._setOnCancel(this); + this._values = values; + this._length = 0; + this._totalResolved = 0; + this._init(undefined, -2); +} +util.inherits(PromiseArray, Proxyable); + +PromiseArray.prototype.length = function () { + return this._length; +}; + +PromiseArray.prototype.promise = function () { + return this._promise; +}; + +PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { + var values = tryConvertToPromise(this._values, this._promise); + if (values instanceof Promise) { + values = values._target(); + var bitField = values._bitField; + ; + this._values = values; + + if (((bitField & 50397184) === 0)) { + this._promise._setAsyncGuaranteed(); + return values._then( + init, + this._reject, + undefined, + this, + resolveValueIfEmpty + ); + } else if (((bitField & 33554432) !== 0)) { + values = values._value(); + } else if (((bitField & 16777216) !== 0)) { + return this._reject(values._reason()); + } else { + return this._cancel(); + } + } + values = util.asArray(values); + if (values === null) { + var err = apiRejection( + "expecting an array or an iterable object but got " + util.classString(values)).reason(); + this._promise._rejectCallback(err, false); + return; + } + + if (values.length === 0) { + if (resolveValueIfEmpty === -5) { + this._resolveEmptyArray(); + } + else { + this._resolve(toResolutionValue(resolveValueIfEmpty)); + } + return; + } + this._iterate(values); +}; + +PromiseArray.prototype._iterate = function(values) { + var len = this.getActualLength(values.length); + this._length = len; + this._values = this.shouldCopyValues() ? new Array(len) : this._values; + var result = this._promise; + var isResolved = false; + var bitField = null; + for (var i = 0; i < len; ++i) { + var maybePromise = tryConvertToPromise(values[i], result); + + if (maybePromise instanceof Promise) { + maybePromise = maybePromise._target(); + bitField = maybePromise._bitField; + } else { + bitField = null; + } + + if (isResolved) { + if (bitField !== null) { + maybePromise.suppressUnhandledRejections(); + } + } else if (bitField !== null) { + if (((bitField & 50397184) === 0)) { + maybePromise._proxy(this, i); + this._values[i] = maybePromise; + } else if (((bitField & 33554432) !== 0)) { + isResolved = this._promiseFulfilled(maybePromise._value(), i); + } else if (((bitField & 16777216) !== 0)) { + isResolved = this._promiseRejected(maybePromise._reason(), i); + } else { + isResolved = this._promiseCancelled(i); + } + } else { + isResolved = this._promiseFulfilled(maybePromise, i); + } + } + if (!isResolved) result._setAsyncGuaranteed(); +}; + +PromiseArray.prototype._isResolved = function () { + return this._values === null; +}; + +PromiseArray.prototype._resolve = function (value) { + this._values = null; + this._promise._fulfill(value); +}; + +PromiseArray.prototype._cancel = function() { + if (this._isResolved() || !this._promise._isCancellable()) return; + this._values = null; + this._promise._cancel(); +}; + +PromiseArray.prototype._reject = function (reason) { + this._values = null; + this._promise._rejectCallback(reason, false); +}; + +PromiseArray.prototype._promiseFulfilled = function (value, index) { + this._values[index] = value; + var totalResolved = ++this._totalResolved; + if (totalResolved >= this._length) { + this._resolve(this._values); + return true; + } + return false; +}; + +PromiseArray.prototype._promiseCancelled = function() { + this._cancel(); + return true; +}; + +PromiseArray.prototype._promiseRejected = function (reason) { + this._totalResolved++; + this._reject(reason); + return true; +}; + +PromiseArray.prototype._resultCancelled = function() { + if (this._isResolved()) return; + var values = this._values; + this._cancel(); + if (values instanceof Promise) { + values.cancel(); + } else { + for (var i = 0; i < values.length; ++i) { + if (values[i] instanceof Promise) { + values[i].cancel(); + } + } + } +}; + +PromiseArray.prototype.shouldCopyValues = function () { + return true; +}; + +PromiseArray.prototype.getActualLength = function (len) { + return len; +}; + +return PromiseArray; +}; + + +/***/ }), + +/***/ 30162: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, INTERNAL) { +var THIS = {}; +var util = __nccwpck_require__(63704); +var nodebackForPromise = __nccwpck_require__(17703); +var withAppended = util.withAppended; +var maybeWrapAsError = util.maybeWrapAsError; +var canEvaluate = util.canEvaluate; +var TypeError = (__nccwpck_require__(98331).TypeError); +var defaultSuffix = "Async"; +var defaultPromisified = {__isPromisified__: true}; +var noCopyProps = [ + "arity", "length", + "name", + "arguments", + "caller", + "callee", + "prototype", + "__isPromisified__" +]; +var noCopyPropsPattern = new RegExp("^(?:" + noCopyProps.join("|") + ")$"); + +var defaultFilter = function(name) { + return util.isIdentifier(name) && + name.charAt(0) !== "_" && + name !== "constructor"; +}; + +function propsFilter(key) { + return !noCopyPropsPattern.test(key); +} + +function isPromisified(fn) { + try { + return fn.__isPromisified__ === true; + } + catch (e) { + return false; + } +} + +function hasPromisified(obj, key, suffix) { + var val = util.getDataPropertyOrDefault(obj, key + suffix, + defaultPromisified); + return val ? isPromisified(val) : false; +} +function checkValid(ret, suffix, suffixRegexp) { + for (var i = 0; i < ret.length; i += 2) { + var key = ret[i]; + if (suffixRegexp.test(key)) { + var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""); + for (var j = 0; j < ret.length; j += 2) { + if (ret[j] === keyWithoutAsyncSuffix) { + throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\u000a\u000a See http://goo.gl/MqrFmX\u000a" + .replace("%s", suffix)); + } + } + } + } +} + +function promisifiableMethods(obj, suffix, suffixRegexp, filter) { + var keys = util.inheritedDataKeys(obj); + var ret = []; + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + var value = obj[key]; + var passesDefaultFilter = filter === defaultFilter + ? true : defaultFilter(key, value, obj); + if (typeof value === "function" && + !isPromisified(value) && + !hasPromisified(obj, key, suffix) && + filter(key, value, obj, passesDefaultFilter)) { + ret.push(key, value); + } + } + checkValid(ret, suffix, suffixRegexp); + return ret; +} + +var escapeIdentRegex = function(str) { + return str.replace(/([$])/, "\\$"); +}; + +var makeNodePromisifiedEval; +if (true) { +var switchCaseArgumentOrder = function(likelyArgumentCount) { + var ret = [likelyArgumentCount]; + var min = Math.max(0, likelyArgumentCount - 1 - 3); + for(var i = likelyArgumentCount - 1; i >= min; --i) { + ret.push(i); + } + for(var i = likelyArgumentCount + 1; i <= 3; ++i) { + ret.push(i); + } + return ret; +}; + +var argumentSequence = function(argumentCount) { + return util.filledRange(argumentCount, "_arg", ""); +}; + +var parameterDeclaration = function(parameterCount) { + return util.filledRange( + Math.max(parameterCount, 3), "_arg", ""); +}; + +var parameterCount = function(fn) { + if (typeof fn.length === "number") { + return Math.max(Math.min(fn.length, 1023 + 1), 0); + } + return 0; +}; + +makeNodePromisifiedEval = +function(callback, receiver, originalName, fn, _, multiArgs) { + var newParameterCount = Math.max(0, parameterCount(fn) - 1); + var argumentOrder = switchCaseArgumentOrder(newParameterCount); + var shouldProxyThis = typeof callback === "string" || receiver === THIS; + + function generateCallForArgumentCount(count) { + var args = argumentSequence(count).join(", "); + var comma = count > 0 ? ", " : ""; + var ret; + if (shouldProxyThis) { + ret = "ret = callback.call(this, {{args}}, nodeback); break;\n"; + } else { + ret = receiver === undefined + ? "ret = callback({{args}}, nodeback); break;\n" + : "ret = callback.call(receiver, {{args}}, nodeback); break;\n"; + } + return ret.replace("{{args}}", args).replace(", ", comma); + } + + function generateArgumentSwitchCase() { + var ret = ""; + for (var i = 0; i < argumentOrder.length; ++i) { + ret += "case " + argumentOrder[i] +":" + + generateCallForArgumentCount(argumentOrder[i]); + } + + ret += " \n\ + default: \n\ + var args = new Array(len + 1); \n\ + var i = 0; \n\ + for (var i = 0; i < len; ++i) { \n\ + args[i] = arguments[i]; \n\ + } \n\ + args[i] = nodeback; \n\ + [CodeForCall] \n\ + break; \n\ + ".replace("[CodeForCall]", (shouldProxyThis + ? "ret = callback.apply(this, args);\n" + : "ret = callback.apply(receiver, args);\n")); + return ret; + } + + var getFunctionCode = typeof callback === "string" + ? ("this != null ? this['"+callback+"'] : fn") + : "fn"; + var body = "'use strict'; \n\ + var ret = function (Parameters) { \n\ + 'use strict'; \n\ + var len = arguments.length; \n\ + var promise = new Promise(INTERNAL); \n\ + promise._captureStackTrace(); \n\ + var nodeback = nodebackForPromise(promise, " + multiArgs + "); \n\ + var ret; \n\ + var callback = tryCatch([GetFunctionCode]); \n\ + switch(len) { \n\ + [CodeForSwitchCase] \n\ + } \n\ + if (ret === errorObj) { \n\ + promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n\ + } \n\ + if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n\ + return promise; \n\ + }; \n\ + notEnumerableProp(ret, '__isPromisified__', true); \n\ + return ret; \n\ + ".replace("[CodeForSwitchCase]", generateArgumentSwitchCase()) + .replace("[GetFunctionCode]", getFunctionCode); + body = body.replace("Parameters", parameterDeclaration(newParameterCount)); + return new Function("Promise", + "fn", + "receiver", + "withAppended", + "maybeWrapAsError", + "nodebackForPromise", + "tryCatch", + "errorObj", + "notEnumerableProp", + "INTERNAL", + body)( + Promise, + fn, + receiver, + withAppended, + maybeWrapAsError, + nodebackForPromise, + util.tryCatch, + util.errorObj, + util.notEnumerableProp, + INTERNAL); +}; +} + +function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) { + var defaultThis = (function() {return this;})(); + var method = callback; + if (typeof method === "string") { + callback = fn; + } + function promisified() { + var _receiver = receiver; + if (receiver === THIS) _receiver = this; + var promise = new Promise(INTERNAL); + promise._captureStackTrace(); + var cb = typeof method === "string" && this !== defaultThis + ? this[method] : callback; + var fn = nodebackForPromise(promise, multiArgs); + try { + cb.apply(_receiver, withAppended(arguments, fn)); + } catch(e) { + promise._rejectCallback(maybeWrapAsError(e), true, true); + } + if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); + return promise; + } + util.notEnumerableProp(promisified, "__isPromisified__", true); + return promisified; +} + +var makeNodePromisified = canEvaluate + ? makeNodePromisifiedEval + : makeNodePromisifiedClosure; + +function promisifyAll(obj, suffix, filter, promisifier, multiArgs) { + var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"); + var methods = + promisifiableMethods(obj, suffix, suffixRegexp, filter); + + for (var i = 0, len = methods.length; i < len; i+= 2) { + var key = methods[i]; + var fn = methods[i+1]; + var promisifiedKey = key + suffix; + if (promisifier === makeNodePromisified) { + obj[promisifiedKey] = + makeNodePromisified(key, THIS, key, fn, suffix, multiArgs); + } else { + var promisified = promisifier(fn, function() { + return makeNodePromisified(key, THIS, key, + fn, suffix, multiArgs); + }); + util.notEnumerableProp(promisified, "__isPromisified__", true); + obj[promisifiedKey] = promisified; + } + } + util.toFastProperties(obj); + return obj; +} + +function promisify(callback, receiver, multiArgs) { + return makeNodePromisified(callback, receiver, undefined, + callback, null, multiArgs); +} + +Promise.promisify = function (fn, options) { + if (typeof fn !== "function") { + throw new TypeError("expecting a function but got " + util.classString(fn)); + } + if (isPromisified(fn)) { + return fn; + } + options = Object(options); + var receiver = options.context === undefined ? THIS : options.context; + var multiArgs = !!options.multiArgs; + var ret = promisify(fn, receiver, multiArgs); + util.copyDescriptors(fn, ret, propsFilter); + return ret; +}; + +Promise.promisifyAll = function (target, options) { + if (typeof target !== "function" && typeof target !== "object") { + throw new TypeError("the target of promisifyAll must be an object or a function\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + options = Object(options); + var multiArgs = !!options.multiArgs; + var suffix = options.suffix; + if (typeof suffix !== "string") suffix = defaultSuffix; + var filter = options.filter; + if (typeof filter !== "function") filter = defaultFilter; + var promisifier = options.promisifier; + if (typeof promisifier !== "function") promisifier = makeNodePromisified; + + if (!util.isIdentifier(suffix)) { + throw new RangeError("suffix must be a valid identifier\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + + var keys = util.inheritedDataKeys(target); + for (var i = 0; i < keys.length; ++i) { + var value = target[keys[i]]; + if (keys[i] !== "constructor" && + util.isClass(value)) { + promisifyAll(value.prototype, suffix, filter, promisifier, + multiArgs); + promisifyAll(value, suffix, filter, promisifier, multiArgs); + } + } + + return promisifyAll(target, suffix, filter, promisifier, multiArgs); +}; +}; + + + +/***/ }), + +/***/ 74264: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function( + Promise, PromiseArray, tryConvertToPromise, apiRejection) { +var util = __nccwpck_require__(63704); +var isObject = util.isObject; +var es5 = __nccwpck_require__(10201); +var Es6Map; +if (typeof Map === "function") Es6Map = Map; + +var mapToEntries = (function() { + var index = 0; + var size = 0; + + function extractEntry(value, key) { + this[index] = value; + this[index + size] = key; + index++; + } + + return function mapToEntries(map) { + size = map.size; + index = 0; + var ret = new Array(map.size * 2); + map.forEach(extractEntry, ret); + return ret; + }; +})(); + +var entriesToMap = function(entries) { + var ret = new Es6Map(); + var length = entries.length / 2 | 0; + for (var i = 0; i < length; ++i) { + var key = entries[length + i]; + var value = entries[i]; + ret.set(key, value); + } + return ret; +}; + +function PropertiesPromiseArray(obj) { + var isMap = false; + var entries; + if (Es6Map !== undefined && obj instanceof Es6Map) { + entries = mapToEntries(obj); + isMap = true; + } else { + var keys = es5.keys(obj); + var len = keys.length; + entries = new Array(len * 2); + for (var i = 0; i < len; ++i) { + var key = keys[i]; + entries[i] = obj[key]; + entries[i + len] = key; + } + } + this.constructor$(entries); + this._isMap = isMap; + this._init$(undefined, isMap ? -6 : -3); +} +util.inherits(PropertiesPromiseArray, PromiseArray); + +PropertiesPromiseArray.prototype._init = function () {}; + +PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) { + this._values[index] = value; + var totalResolved = ++this._totalResolved; + if (totalResolved >= this._length) { + var val; + if (this._isMap) { + val = entriesToMap(this._values); + } else { + val = {}; + var keyOffset = this.length(); + for (var i = 0, len = this.length(); i < len; ++i) { + val[this._values[i + keyOffset]] = this._values[i]; + } + } + this._resolve(val); + return true; + } + return false; +}; + +PropertiesPromiseArray.prototype.shouldCopyValues = function () { + return false; +}; + +PropertiesPromiseArray.prototype.getActualLength = function (len) { + return len >> 1; +}; + +function props(promises) { + var ret; + var castValue = tryConvertToPromise(promises); + + if (!isObject(castValue)) { + return apiRejection("cannot await properties of a non-object\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } else if (castValue instanceof Promise) { + ret = castValue._then( + Promise.props, undefined, undefined, undefined, undefined); + } else { + ret = new PropertiesPromiseArray(castValue).promise(); + } + + if (castValue instanceof Promise) { + ret._propagateFrom(castValue, 2); + } + return ret; +} + +Promise.prototype.props = function () { + return props(this); +}; + +Promise.props = function (promises) { + return props(promises); +}; +}; + + +/***/ }), + +/***/ 62025: +/***/ ((module) => { + +"use strict"; + +function arrayMove(src, srcIndex, dst, dstIndex, len) { + for (var j = 0; j < len; ++j) { + dst[j + dstIndex] = src[j + srcIndex]; + src[j + srcIndex] = void 0; + } +} + +function Queue(capacity) { + this._capacity = capacity; + this._length = 0; + this._front = 0; +} + +Queue.prototype._willBeOverCapacity = function (size) { + return this._capacity < size; +}; + +Queue.prototype._pushOne = function (arg) { + var length = this.length(); + this._checkCapacity(length + 1); + var i = (this._front + length) & (this._capacity - 1); + this[i] = arg; + this._length = length + 1; +}; + +Queue.prototype.push = function (fn, receiver, arg) { + var length = this.length() + 3; + if (this._willBeOverCapacity(length)) { + this._pushOne(fn); + this._pushOne(receiver); + this._pushOne(arg); + return; + } + var j = this._front + length - 3; + this._checkCapacity(length); + var wrapMask = this._capacity - 1; + this[(j + 0) & wrapMask] = fn; + this[(j + 1) & wrapMask] = receiver; + this[(j + 2) & wrapMask] = arg; + this._length = length; +}; + +Queue.prototype.shift = function () { + var front = this._front, + ret = this[front]; + + this[front] = undefined; + this._front = (front + 1) & (this._capacity - 1); + this._length--; + return ret; +}; + +Queue.prototype.length = function () { + return this._length; +}; + +Queue.prototype._checkCapacity = function (size) { + if (this._capacity < size) { + this._resizeTo(this._capacity << 1); + } +}; + +Queue.prototype._resizeTo = function (capacity) { + var oldCapacity = this._capacity; + this._capacity = capacity; + var front = this._front; + var length = this._length; + var moveItemsCount = (front + length) & (oldCapacity - 1); + arrayMove(this, 0, this, oldCapacity, moveItemsCount); +}; + +module.exports = Queue; + + +/***/ }), + +/***/ 21421: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function( + Promise, INTERNAL, tryConvertToPromise, apiRejection) { +var util = __nccwpck_require__(63704); + +var raceLater = function (promise) { + return promise.then(function(array) { + return race(array, promise); + }); +}; + +function race(promises, parent) { + var maybePromise = tryConvertToPromise(promises); + + if (maybePromise instanceof Promise) { + return raceLater(maybePromise); + } else { + promises = util.asArray(promises); + if (promises === null) + return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); + } + + var ret = new Promise(INTERNAL); + if (parent !== undefined) { + ret._propagateFrom(parent, 3); + } + var fulfill = ret._fulfill; + var reject = ret._reject; + for (var i = 0, len = promises.length; i < len; ++i) { + var val = promises[i]; + + if (val === undefined && !(i in promises)) { + continue; + } + + Promise.cast(val)._then(fulfill, reject, undefined, ret, null); + } + return ret; +} + +Promise.race = function (promises) { + return race(promises, undefined); +}; + +Promise.prototype.race = function () { + return race(this, undefined); +}; + +}; + + +/***/ }), + +/***/ 76090: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, + PromiseArray, + apiRejection, + tryConvertToPromise, + INTERNAL, + debug) { +var util = __nccwpck_require__(63704); +var tryCatch = util.tryCatch; + +function ReductionPromiseArray(promises, fn, initialValue, _each) { + this.constructor$(promises); + var context = Promise._getContext(); + this._fn = util.contextBind(context, fn); + if (initialValue !== undefined) { + initialValue = Promise.resolve(initialValue); + initialValue._attachCancellationCallback(this); + } + this._initialValue = initialValue; + this._currentCancellable = null; + if(_each === INTERNAL) { + this._eachValues = Array(this._length); + } else if (_each === 0) { + this._eachValues = null; + } else { + this._eachValues = undefined; + } + this._promise._captureStackTrace(); + this._init$(undefined, -5); +} +util.inherits(ReductionPromiseArray, PromiseArray); + +ReductionPromiseArray.prototype._gotAccum = function(accum) { + if (this._eachValues !== undefined && + this._eachValues !== null && + accum !== INTERNAL) { + this._eachValues.push(accum); + } +}; + +ReductionPromiseArray.prototype._eachComplete = function(value) { + if (this._eachValues !== null) { + this._eachValues.push(value); + } + return this._eachValues; +}; + +ReductionPromiseArray.prototype._init = function() {}; + +ReductionPromiseArray.prototype._resolveEmptyArray = function() { + this._resolve(this._eachValues !== undefined ? this._eachValues + : this._initialValue); +}; + +ReductionPromiseArray.prototype.shouldCopyValues = function () { + return false; +}; + +ReductionPromiseArray.prototype._resolve = function(value) { + this._promise._resolveCallback(value); + this._values = null; +}; + +ReductionPromiseArray.prototype._resultCancelled = function(sender) { + if (sender === this._initialValue) return this._cancel(); + if (this._isResolved()) return; + this._resultCancelled$(); + if (this._currentCancellable instanceof Promise) { + this._currentCancellable.cancel(); + } + if (this._initialValue instanceof Promise) { + this._initialValue.cancel(); + } +}; + +ReductionPromiseArray.prototype._iterate = function (values) { + this._values = values; + var value; + var i; + var length = values.length; + if (this._initialValue !== undefined) { + value = this._initialValue; + i = 0; + } else { + value = Promise.resolve(values[0]); + i = 1; + } + + this._currentCancellable = value; + + for (var j = i; j < length; ++j) { + var maybePromise = values[j]; + if (maybePromise instanceof Promise) { + maybePromise.suppressUnhandledRejections(); + } + } + + if (!value.isRejected()) { + for (; i < length; ++i) { + var ctx = { + accum: null, + value: values[i], + index: i, + length: length, + array: this + }; + + value = value._then(gotAccum, undefined, undefined, ctx, undefined); + + if ((i & 127) === 0) { + value._setNoAsyncGuarantee(); + } + } + } + + if (this._eachValues !== undefined) { + value = value + ._then(this._eachComplete, undefined, undefined, this, undefined); + } + value._then(completed, completed, undefined, value, this); +}; + +Promise.prototype.reduce = function (fn, initialValue) { + return reduce(this, fn, initialValue, null); +}; + +Promise.reduce = function (promises, fn, initialValue, _each) { + return reduce(promises, fn, initialValue, _each); +}; + +function completed(valueOrReason, array) { + if (this.isFulfilled()) { + array._resolve(valueOrReason); + } else { + array._reject(valueOrReason); + } +} + +function reduce(promises, fn, initialValue, _each) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + var array = new ReductionPromiseArray(promises, fn, initialValue, _each); + return array.promise(); +} + +function gotAccum(accum) { + this.accum = accum; + this.array._gotAccum(accum); + var value = tryConvertToPromise(this.value, this.array._promise); + if (value instanceof Promise) { + this.array._currentCancellable = value; + return value._then(gotValue, undefined, undefined, this, undefined); + } else { + return gotValue.call(this, value); + } +} + +function gotValue(value) { + var array = this.array; + var promise = array._promise; + var fn = tryCatch(array._fn); + promise._pushContext(); + var ret; + if (array._eachValues !== undefined) { + ret = fn.call(promise._boundValue(), value, this.index, this.length); + } else { + ret = fn.call(promise._boundValue(), + this.accum, value, this.index, this.length); + } + if (ret instanceof Promise) { + array._currentCancellable = ret; + } + var promiseCreated = promise._popContext(); + debug.checkForgottenReturns( + ret, + promiseCreated, + array._eachValues !== undefined ? "Promise.each" : "Promise.reduce", + promise + ); + return ret; +} +}; + + +/***/ }), + +/***/ 58209: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +var util = __nccwpck_require__(63704); +var schedule; +var noAsyncScheduler = function() { + throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); +}; +var NativePromise = util.getNativePromise(); +if (util.isNode && typeof MutationObserver === "undefined") { + var GlobalSetImmediate = global.setImmediate; + var ProcessNextTick = process.nextTick; + schedule = util.isRecentNode + ? function(fn) { GlobalSetImmediate.call(global, fn); } + : function(fn) { ProcessNextTick.call(process, fn); }; +} else if (typeof NativePromise === "function" && + typeof NativePromise.resolve === "function") { + var nativePromise = NativePromise.resolve(); + schedule = function(fn) { + nativePromise.then(fn); + }; +} else if ((typeof MutationObserver !== "undefined") && + !(typeof window !== "undefined" && + window.navigator && + (window.navigator.standalone || window.cordova)) && + ("classList" in document.documentElement)) { + schedule = (function() { + var div = document.createElement("div"); + var opts = {attributes: true}; + var toggleScheduled = false; + var div2 = document.createElement("div"); + var o2 = new MutationObserver(function() { + div.classList.toggle("foo"); + toggleScheduled = false; + }); + o2.observe(div2, opts); + + var scheduleToggle = function() { + if (toggleScheduled) return; + toggleScheduled = true; + div2.classList.toggle("foo"); + }; + + return function schedule(fn) { + var o = new MutationObserver(function() { + o.disconnect(); + fn(); + }); + o.observe(div, opts); + scheduleToggle(); + }; + })(); +} else if (typeof setImmediate !== "undefined") { + schedule = function (fn) { + setImmediate(fn); + }; +} else if (typeof setTimeout !== "undefined") { + schedule = function (fn) { + setTimeout(fn, 0); + }; +} else { + schedule = noAsyncScheduler; +} +module.exports = schedule; + + +/***/ }), + +/***/ 12095: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = + function(Promise, PromiseArray, debug) { +var PromiseInspection = Promise.PromiseInspection; +var util = __nccwpck_require__(63704); + +function SettledPromiseArray(values) { + this.constructor$(values); +} +util.inherits(SettledPromiseArray, PromiseArray); + +SettledPromiseArray.prototype._promiseResolved = function (index, inspection) { + this._values[index] = inspection; + var totalResolved = ++this._totalResolved; + if (totalResolved >= this._length) { + this._resolve(this._values); + return true; + } + return false; +}; + +SettledPromiseArray.prototype._promiseFulfilled = function (value, index) { + var ret = new PromiseInspection(); + ret._bitField = 33554432; + ret._settledValueField = value; + return this._promiseResolved(index, ret); +}; +SettledPromiseArray.prototype._promiseRejected = function (reason, index) { + var ret = new PromiseInspection(); + ret._bitField = 16777216; + ret._settledValueField = reason; + return this._promiseResolved(index, ret); +}; + +Promise.settle = function (promises) { + debug.deprecated(".settle()", ".reflect()"); + return new SettledPromiseArray(promises).promise(); +}; + +Promise.allSettled = function (promises) { + return new SettledPromiseArray(promises).promise(); +}; + +Promise.prototype.settle = function () { + return Promise.settle(this); +}; +}; + + +/***/ }), + +/***/ 42800: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = +function(Promise, PromiseArray, apiRejection) { +var util = __nccwpck_require__(63704); +var RangeError = (__nccwpck_require__(98331).RangeError); +var AggregateError = (__nccwpck_require__(98331).AggregateError); +var isArray = util.isArray; +var CANCELLATION = {}; + + +function SomePromiseArray(values) { + this.constructor$(values); + this._howMany = 0; + this._unwrap = false; + this._initialized = false; +} +util.inherits(SomePromiseArray, PromiseArray); + +SomePromiseArray.prototype._init = function () { + if (!this._initialized) { + return; + } + if (this._howMany === 0) { + this._resolve([]); + return; + } + this._init$(undefined, -5); + var isArrayResolved = isArray(this._values); + if (!this._isResolved() && + isArrayResolved && + this._howMany > this._canPossiblyFulfill()) { + this._reject(this._getRangeError(this.length())); + } +}; + +SomePromiseArray.prototype.init = function () { + this._initialized = true; + this._init(); +}; + +SomePromiseArray.prototype.setUnwrap = function () { + this._unwrap = true; +}; + +SomePromiseArray.prototype.howMany = function () { + return this._howMany; +}; + +SomePromiseArray.prototype.setHowMany = function (count) { + this._howMany = count; +}; + +SomePromiseArray.prototype._promiseFulfilled = function (value) { + this._addFulfilled(value); + if (this._fulfilled() === this.howMany()) { + this._values.length = this.howMany(); + if (this.howMany() === 1 && this._unwrap) { + this._resolve(this._values[0]); + } else { + this._resolve(this._values); + } + return true; + } + return false; + +}; +SomePromiseArray.prototype._promiseRejected = function (reason) { + this._addRejected(reason); + return this._checkOutcome(); +}; + +SomePromiseArray.prototype._promiseCancelled = function () { + if (this._values instanceof Promise || this._values == null) { + return this._cancel(); + } + this._addRejected(CANCELLATION); + return this._checkOutcome(); +}; + +SomePromiseArray.prototype._checkOutcome = function() { + if (this.howMany() > this._canPossiblyFulfill()) { + var e = new AggregateError(); + for (var i = this.length(); i < this._values.length; ++i) { + if (this._values[i] !== CANCELLATION) { + e.push(this._values[i]); + } + } + if (e.length > 0) { + this._reject(e); + } else { + this._cancel(); + } + return true; + } + return false; +}; + +SomePromiseArray.prototype._fulfilled = function () { + return this._totalResolved; +}; + +SomePromiseArray.prototype._rejected = function () { + return this._values.length - this.length(); +}; + +SomePromiseArray.prototype._addRejected = function (reason) { + this._values.push(reason); +}; + +SomePromiseArray.prototype._addFulfilled = function (value) { + this._values[this._totalResolved++] = value; +}; + +SomePromiseArray.prototype._canPossiblyFulfill = function () { + return this.length() - this._rejected(); +}; + +SomePromiseArray.prototype._getRangeError = function (count) { + var message = "Input array must contain at least " + + this._howMany + " items but contains only " + count + " items"; + return new RangeError(message); +}; + +SomePromiseArray.prototype._resolveEmptyArray = function () { + this._reject(this._getRangeError(0)); +}; + +function some(promises, howMany) { + if ((howMany | 0) !== howMany || howMany < 0) { + return apiRejection("expecting a positive integer\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + var ret = new SomePromiseArray(promises); + var promise = ret.promise(); + ret.setHowMany(howMany); + ret.init(); + return promise; +} + +Promise.some = function (promises, howMany) { + return some(promises, howMany); +}; + +Promise.prototype.some = function (howMany) { + return some(this, howMany); +}; + +Promise._SomePromiseArray = SomePromiseArray; +}; + + +/***/ }), + +/***/ 11676: +/***/ ((module) => { + +"use strict"; + +module.exports = function(Promise) { +function PromiseInspection(promise) { + if (promise !== undefined) { + promise = promise._target(); + this._bitField = promise._bitField; + this._settledValueField = promise._isFateSealed() + ? promise._settledValue() : undefined; + } + else { + this._bitField = 0; + this._settledValueField = undefined; + } +} + +PromiseInspection.prototype._settledValue = function() { + return this._settledValueField; +}; + +var value = PromiseInspection.prototype.value = function () { + if (!this.isFulfilled()) { + throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + return this._settledValue(); +}; + +var reason = PromiseInspection.prototype.error = +PromiseInspection.prototype.reason = function () { + if (!this.isRejected()) { + throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a"); + } + return this._settledValue(); +}; + +var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { + return (this._bitField & 33554432) !== 0; +}; + +var isRejected = PromiseInspection.prototype.isRejected = function () { + return (this._bitField & 16777216) !== 0; +}; + +var isPending = PromiseInspection.prototype.isPending = function () { + return (this._bitField & 50397184) === 0; +}; + +var isResolved = PromiseInspection.prototype.isResolved = function () { + return (this._bitField & 50331648) !== 0; +}; + +PromiseInspection.prototype.isCancelled = function() { + return (this._bitField & 8454144) !== 0; +}; + +Promise.prototype.__isCancelled = function() { + return (this._bitField & 65536) === 65536; +}; + +Promise.prototype._isCancelled = function() { + return this._target().__isCancelled(); +}; + +Promise.prototype.isCancelled = function() { + return (this._target()._bitField & 8454144) !== 0; +}; + +Promise.prototype.isPending = function() { + return isPending.call(this._target()); +}; + +Promise.prototype.isRejected = function() { + return isRejected.call(this._target()); +}; + +Promise.prototype.isFulfilled = function() { + return isFulfilled.call(this._target()); +}; + +Promise.prototype.isResolved = function() { + return isResolved.call(this._target()); +}; + +Promise.prototype.value = function() { + return value.call(this._target()); +}; + +Promise.prototype.reason = function() { + var target = this._target(); + target._unsetRejectionIsUnhandled(); + return reason.call(target); +}; + +Promise.prototype._value = function() { + return this._settledValue(); +}; + +Promise.prototype._reason = function() { + this._unsetRejectionIsUnhandled(); + return this._settledValue(); +}; + +Promise.PromiseInspection = PromiseInspection; +}; + + +/***/ }), + +/***/ 82822: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, INTERNAL) { +var util = __nccwpck_require__(63704); +var errorObj = util.errorObj; +var isObject = util.isObject; + +function tryConvertToPromise(obj, context) { + if (isObject(obj)) { + if (obj instanceof Promise) return obj; + var then = getThen(obj); + if (then === errorObj) { + if (context) context._pushContext(); + var ret = Promise.reject(then.e); + if (context) context._popContext(); + return ret; + } else if (typeof then === "function") { + if (isAnyBluebirdPromise(obj)) { + var ret = new Promise(INTERNAL); + obj._then( + ret._fulfill, + ret._reject, + undefined, + ret, + null + ); + return ret; + } + return doThenable(obj, then, context); + } + } + return obj; +} + +function doGetThen(obj) { + return obj.then; +} + +function getThen(obj) { + try { + return doGetThen(obj); + } catch (e) { + errorObj.e = e; + return errorObj; + } +} + +var hasProp = {}.hasOwnProperty; +function isAnyBluebirdPromise(obj) { + try { + return hasProp.call(obj, "_promise0"); + } catch (e) { + return false; + } +} + +function doThenable(x, then, context) { + var promise = new Promise(INTERNAL); + var ret = promise; + if (context) context._pushContext(); + promise._captureStackTrace(); + if (context) context._popContext(); + var synchronous = true; + var result = util.tryCatch(then).call(x, resolve, reject); + synchronous = false; + + if (promise && result === errorObj) { + promise._rejectCallback(result.e, true, true); + promise = null; + } + + function resolve(value) { + if (!promise) return; + promise._resolveCallback(value); + promise = null; + } + + function reject(reason) { + if (!promise) return; + promise._rejectCallback(reason, synchronous, true); + promise = null; + } + return ret; +} + +return tryConvertToPromise; +}; + + +/***/ }), + +/***/ 46110: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function(Promise, INTERNAL, debug) { +var util = __nccwpck_require__(63704); +var TimeoutError = Promise.TimeoutError; + +function HandleWrapper(handle) { + this.handle = handle; +} + +HandleWrapper.prototype._resultCancelled = function() { + clearTimeout(this.handle); +}; + +var afterValue = function(value) { return delay(+this).thenReturn(value); }; +var delay = Promise.delay = function (ms, value) { + var ret; + var handle; + if (value !== undefined) { + ret = Promise.resolve(value) + ._then(afterValue, null, null, ms, undefined); + if (debug.cancellation() && value instanceof Promise) { + ret._setOnCancel(value); + } + } else { + ret = new Promise(INTERNAL); + handle = setTimeout(function() { ret._fulfill(); }, +ms); + if (debug.cancellation()) { + ret._setOnCancel(new HandleWrapper(handle)); + } + ret._captureStackTrace(); + } + ret._setAsyncGuaranteed(); + return ret; +}; + +Promise.prototype.delay = function (ms) { + return delay(ms, this); +}; + +var afterTimeout = function (promise, message, parent) { + var err; + if (typeof message !== "string") { + if (message instanceof Error) { + err = message; + } else { + err = new TimeoutError("operation timed out"); + } + } else { + err = new TimeoutError(message); + } + util.markAsOriginatingFromRejection(err); + promise._attachExtraTrace(err); + promise._reject(err); + + if (parent != null) { + parent.cancel(); + } +}; + +function successClear(value) { + clearTimeout(this.handle); + return value; +} + +function failureClear(reason) { + clearTimeout(this.handle); + throw reason; +} + +Promise.prototype.timeout = function (ms, message) { + ms = +ms; + var ret, parent; + + var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() { + if (ret.isPending()) { + afterTimeout(ret, message, parent); + } + }, ms)); + + if (debug.cancellation()) { + parent = this.then(); + ret = parent._then(successClear, failureClear, + undefined, handleWrapper, undefined); + ret._setOnCancel(handleWrapper); + } else { + ret = this._then(successClear, failureClear, + undefined, handleWrapper, undefined); + } + + return ret; +}; + +}; + + +/***/ }), + +/***/ 95578: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + +module.exports = function (Promise, apiRejection, tryConvertToPromise, + createContext, INTERNAL, debug) { + var util = __nccwpck_require__(63704); + var TypeError = (__nccwpck_require__(98331).TypeError); + var inherits = (__nccwpck_require__(63704).inherits); + var errorObj = util.errorObj; + var tryCatch = util.tryCatch; + var NULL = {}; + + function thrower(e) { + setTimeout(function(){throw e;}, 0); + } + + function castPreservingDisposable(thenable) { + var maybePromise = tryConvertToPromise(thenable); + if (maybePromise !== thenable && + typeof thenable._isDisposable === "function" && + typeof thenable._getDisposer === "function" && + thenable._isDisposable()) { + maybePromise._setDisposable(thenable._getDisposer()); + } + return maybePromise; + } + function dispose(resources, inspection) { + var i = 0; + var len = resources.length; + var ret = new Promise(INTERNAL); + function iterator() { + if (i >= len) return ret._fulfill(); + var maybePromise = castPreservingDisposable(resources[i++]); + if (maybePromise instanceof Promise && + maybePromise._isDisposable()) { + try { + maybePromise = tryConvertToPromise( + maybePromise._getDisposer().tryDispose(inspection), + resources.promise); + } catch (e) { + return thrower(e); + } + if (maybePromise instanceof Promise) { + return maybePromise._then(iterator, thrower, + null, null, null); + } + } + iterator(); + } + iterator(); + return ret; + } + + function Disposer(data, promise, context) { + this._data = data; + this._promise = promise; + this._context = context; + } + + Disposer.prototype.data = function () { + return this._data; + }; + + Disposer.prototype.promise = function () { + return this._promise; + }; + + Disposer.prototype.resource = function () { + if (this.promise().isFulfilled()) { + return this.promise().value(); + } + return NULL; + }; + + Disposer.prototype.tryDispose = function(inspection) { + var resource = this.resource(); + var context = this._context; + if (context !== undefined) context._pushContext(); + var ret = resource !== NULL + ? this.doDispose(resource, inspection) : null; + if (context !== undefined) context._popContext(); + this._promise._unsetDisposable(); + this._data = null; + return ret; + }; + + Disposer.isDisposer = function (d) { + return (d != null && + typeof d.resource === "function" && + typeof d.tryDispose === "function"); + }; + + function FunctionDisposer(fn, promise, context) { + this.constructor$(fn, promise, context); + } + inherits(FunctionDisposer, Disposer); + + FunctionDisposer.prototype.doDispose = function (resource, inspection) { + var fn = this.data(); + return fn.call(resource, resource, inspection); + }; + + function maybeUnwrapDisposer(value) { + if (Disposer.isDisposer(value)) { + this.resources[this.index]._setDisposable(value); + return value.promise(); + } + return value; + } + + function ResourceList(length) { + this.length = length; + this.promise = null; + this[length-1] = null; + } + + ResourceList.prototype._resultCancelled = function() { + var len = this.length; + for (var i = 0; i < len; ++i) { + var item = this[i]; + if (item instanceof Promise) { + item.cancel(); + } + } + }; + + Promise.using = function () { + var len = arguments.length; + if (len < 2) return apiRejection( + "you must pass at least 2 arguments to Promise.using"); + var fn = arguments[len - 1]; + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + var input; + var spreadArgs = true; + if (len === 2 && Array.isArray(arguments[0])) { + input = arguments[0]; + len = input.length; + spreadArgs = false; + } else { + input = arguments; + len--; + } + var resources = new ResourceList(len); + for (var i = 0; i < len; ++i) { + var resource = input[i]; + if (Disposer.isDisposer(resource)) { + var disposer = resource; + resource = resource.promise(); + resource._setDisposable(disposer); + } else { + var maybePromise = tryConvertToPromise(resource); + if (maybePromise instanceof Promise) { + resource = + maybePromise._then(maybeUnwrapDisposer, null, null, { + resources: resources, + index: i + }, undefined); + } + } + resources[i] = resource; + } + + var reflectedResources = new Array(resources.length); + for (var i = 0; i < reflectedResources.length; ++i) { + reflectedResources[i] = Promise.resolve(resources[i]).reflect(); + } + + var resultPromise = Promise.all(reflectedResources) + .then(function(inspections) { + for (var i = 0; i < inspections.length; ++i) { + var inspection = inspections[i]; + if (inspection.isRejected()) { + errorObj.e = inspection.error(); + return errorObj; + } else if (!inspection.isFulfilled()) { + resultPromise.cancel(); + return; + } + inspections[i] = inspection.value(); + } + promise._pushContext(); + + fn = tryCatch(fn); + var ret = spreadArgs + ? fn.apply(undefined, inspections) : fn(inspections); + var promiseCreated = promise._popContext(); + debug.checkForgottenReturns( + ret, promiseCreated, "Promise.using", promise); + return ret; + }); + + var promise = resultPromise.lastly(function() { + var inspection = new Promise.PromiseInspection(resultPromise); + return dispose(resources, inspection); + }); + resources.promise = promise; + promise._setOnCancel(resources); + return promise; + }; + + Promise.prototype._setDisposable = function (disposer) { + this._bitField = this._bitField | 131072; + this._disposer = disposer; + }; + + Promise.prototype._isDisposable = function () { + return (this._bitField & 131072) > 0; + }; + + Promise.prototype._getDisposer = function () { + return this._disposer; + }; + + Promise.prototype._unsetDisposable = function () { + this._bitField = this._bitField & (~131072); + this._disposer = undefined; + }; + + Promise.prototype.disposer = function (fn) { + if (typeof fn === "function") { + return new FunctionDisposer(fn, this, createContext()); + } + throw new TypeError(); + }; + +}; + + +/***/ }), + +/***/ 63704: +/***/ (function(module, __unused_webpack_exports, __nccwpck_require__) { + +"use strict"; + +var es5 = __nccwpck_require__(10201); +var canEvaluate = typeof navigator == "undefined"; + +var errorObj = {e: {}}; +var tryCatchTarget; +var globalObject = typeof self !== "undefined" ? self : + typeof window !== "undefined" ? window : + typeof global !== "undefined" ? global : + this !== undefined ? this : null; + +function tryCatcher() { + try { + var target = tryCatchTarget; + tryCatchTarget = null; + return target.apply(this, arguments); + } catch (e) { + errorObj.e = e; + return errorObj; + } +} +function tryCatch(fn) { + tryCatchTarget = fn; + return tryCatcher; +} + +var inherits = function(Child, Parent) { + var hasProp = {}.hasOwnProperty; + + function T() { + this.constructor = Child; + this.constructor$ = Parent; + for (var propertyName in Parent.prototype) { + if (hasProp.call(Parent.prototype, propertyName) && + propertyName.charAt(propertyName.length-1) !== "$" + ) { + this[propertyName + "$"] = Parent.prototype[propertyName]; + } + } + } + T.prototype = Parent.prototype; + Child.prototype = new T(); + return Child.prototype; +}; + + +function isPrimitive(val) { + return val == null || val === true || val === false || + typeof val === "string" || typeof val === "number"; + +} + +function isObject(value) { + return typeof value === "function" || + typeof value === "object" && value !== null; +} + +function maybeWrapAsError(maybeError) { + if (!isPrimitive(maybeError)) return maybeError; + + return new Error(safeToString(maybeError)); +} + +function withAppended(target, appendee) { + var len = target.length; + var ret = new Array(len + 1); + var i; + for (i = 0; i < len; ++i) { + ret[i] = target[i]; + } + ret[i] = appendee; + return ret; +} + +function getDataPropertyOrDefault(obj, key, defaultValue) { + if (es5.isES5) { + var desc = Object.getOwnPropertyDescriptor(obj, key); + + if (desc != null) { + return desc.get == null && desc.set == null + ? desc.value + : defaultValue; + } + } else { + return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; + } +} + +function notEnumerableProp(obj, name, value) { + if (isPrimitive(obj)) return obj; + var descriptor = { + value: value, + configurable: true, + enumerable: false, + writable: true + }; + es5.defineProperty(obj, name, descriptor); + return obj; +} + +function thrower(r) { + throw r; +} + +var inheritedDataKeys = (function() { + var excludedPrototypes = [ + Array.prototype, + Object.prototype, + Function.prototype + ]; + + var isExcludedProto = function(val) { + for (var i = 0; i < excludedPrototypes.length; ++i) { + if (excludedPrototypes[i] === val) { + return true; + } + } + return false; + }; + + if (es5.isES5) { + var getKeys = Object.getOwnPropertyNames; + return function(obj) { + var ret = []; + var visitedKeys = Object.create(null); + while (obj != null && !isExcludedProto(obj)) { + var keys; + try { + keys = getKeys(obj); + } catch (e) { + return ret; + } + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + if (visitedKeys[key]) continue; + visitedKeys[key] = true; + var desc = Object.getOwnPropertyDescriptor(obj, key); + if (desc != null && desc.get == null && desc.set == null) { + ret.push(key); + } + } + obj = es5.getPrototypeOf(obj); + } + return ret; + }; + } else { + var hasProp = {}.hasOwnProperty; + return function(obj) { + if (isExcludedProto(obj)) return []; + var ret = []; + + /*jshint forin:false */ + enumeration: for (var key in obj) { + if (hasProp.call(obj, key)) { + ret.push(key); + } else { + for (var i = 0; i < excludedPrototypes.length; ++i) { + if (hasProp.call(excludedPrototypes[i], key)) { + continue enumeration; + } + } + ret.push(key); + } + } + return ret; + }; + } + +})(); + +var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; +function isClass(fn) { + try { + if (typeof fn === "function") { + var keys = es5.names(fn.prototype); + + var hasMethods = es5.isES5 && keys.length > 1; + var hasMethodsOtherThanConstructor = keys.length > 0 && + !(keys.length === 1 && keys[0] === "constructor"); + var hasThisAssignmentAndStaticMethods = + thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; + + if (hasMethods || hasMethodsOtherThanConstructor || + hasThisAssignmentAndStaticMethods) { + return true; + } + } + return false; + } catch (e) { + return false; + } +} + +function toFastProperties(obj) { + /*jshint -W027,-W055,-W031*/ + function FakeConstructor() {} + FakeConstructor.prototype = obj; + var receiver = new FakeConstructor(); + function ic() { + return typeof receiver.foo; + } + ic(); + ic(); + return obj; + eval(obj); +} + +var rident = /^[a-z$_][a-z$_0-9]*$/i; +function isIdentifier(str) { + return rident.test(str); +} + +function filledRange(count, prefix, suffix) { + var ret = new Array(count); + for(var i = 0; i < count; ++i) { + ret[i] = prefix + i + suffix; + } + return ret; +} + +function safeToString(obj) { + try { + return obj + ""; + } catch (e) { + return "[no string representation]"; + } +} + +function isError(obj) { + return obj instanceof Error || + (obj !== null && + typeof obj === "object" && + typeof obj.message === "string" && + typeof obj.name === "string"); +} + +function markAsOriginatingFromRejection(e) { + try { + notEnumerableProp(e, "isOperational", true); + } + catch(ignore) {} +} + +function originatesFromRejection(e) { + if (e == null) return false; + return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || + e["isOperational"] === true); +} + +function canAttachTrace(obj) { + return isError(obj) && es5.propertyIsWritable(obj, "stack"); +} + +var ensureErrorObject = (function() { + if (!("stack" in new Error())) { + return function(value) { + if (canAttachTrace(value)) return value; + try {throw new Error(safeToString(value));} + catch(err) {return err;} + }; + } else { + return function(value) { + if (canAttachTrace(value)) return value; + return new Error(safeToString(value)); + }; + } +})(); + +function classString(obj) { + return {}.toString.call(obj); +} + +function copyDescriptors(from, to, filter) { + var keys = es5.names(from); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + if (filter(key)) { + try { + es5.defineProperty(to, key, es5.getDescriptor(from, key)); + } catch (ignore) {} + } + } +} + +var asArray = function(v) { + if (es5.isArray(v)) { + return v; + } + return null; +}; + +if (typeof Symbol !== "undefined" && Symbol.iterator) { + var ArrayFrom = typeof Array.from === "function" ? function(v) { + return Array.from(v); + } : function(v) { + var ret = []; + var it = v[Symbol.iterator](); + var itResult; + while (!((itResult = it.next()).done)) { + ret.push(itResult.value); + } + return ret; + }; + + asArray = function(v) { + if (es5.isArray(v)) { + return v; + } else if (v != null && typeof v[Symbol.iterator] === "function") { + return ArrayFrom(v); + } + return null; + }; +} + +var isNode = typeof process !== "undefined" && + classString(process).toLowerCase() === "[object process]"; + +var hasEnvVariables = typeof process !== "undefined" && + typeof process.env !== "undefined"; + +function env(key) { + return hasEnvVariables ? process.env[key] : undefined; +} + +function getNativePromise() { + if (typeof Promise === "function") { + try { + var promise = new Promise(function(){}); + if (classString(promise) === "[object Promise]") { + return Promise; + } + } catch (e) {} + } +} + +var reflectHandler; +function contextBind(ctx, cb) { + if (ctx === null || + typeof cb !== "function" || + cb === reflectHandler) { + return cb; + } + + if (ctx.domain !== null) { + cb = ctx.domain.bind(cb); + } + + var async = ctx.async; + if (async !== null) { + var old = cb; + cb = function() { + var $_len = arguments.length + 2;var args = new Array($_len); for(var $_i = 2; $_i < $_len ; ++$_i) {args[$_i] = arguments[$_i - 2];}; + args[0] = old; + args[1] = this; + return async.runInAsyncScope.apply(async, args); + }; + } + return cb; +} + +var ret = { + setReflectHandler: function(fn) { + reflectHandler = fn; + }, + isClass: isClass, + isIdentifier: isIdentifier, + inheritedDataKeys: inheritedDataKeys, + getDataPropertyOrDefault: getDataPropertyOrDefault, + thrower: thrower, + isArray: es5.isArray, + asArray: asArray, + notEnumerableProp: notEnumerableProp, + isPrimitive: isPrimitive, + isObject: isObject, + isError: isError, + canEvaluate: canEvaluate, + errorObj: errorObj, + tryCatch: tryCatch, + inherits: inherits, + withAppended: withAppended, + maybeWrapAsError: maybeWrapAsError, + toFastProperties: toFastProperties, + filledRange: filledRange, + toString: safeToString, + canAttachTrace: canAttachTrace, + ensureErrorObject: ensureErrorObject, + originatesFromRejection: originatesFromRejection, + markAsOriginatingFromRejection: markAsOriginatingFromRejection, + classString: classString, + copyDescriptors: copyDescriptors, + isNode: isNode, + hasEnvVariables: hasEnvVariables, + env: env, + global: globalObject, + getNativePromise: getNativePromise, + contextBind: contextBind +}; +ret.isRecentNode = ret.isNode && (function() { + var version; + if (process.versions && process.versions.node) { + version = process.versions.node.split(".").map(Number); + } else if (process.version) { + version = process.version.split(".").map(Number); + } + return (version[0] === 0 && version[1] > 10) || (version[0] > 0); +})(); +ret.nodeSupportsAsyncResource = ret.isNode && (function() { + var supportsAsync = false; + try { + var res = (__nccwpck_require__(90290).AsyncResource); + supportsAsync = typeof res.prototype.runInAsyncScope === "function"; + } catch (e) { + supportsAsync = false; + } + return supportsAsync; +})(); + +if (ret.isNode) ret.toFastProperties(process); + +try {throw new Error(); } catch (e) {ret.lastLineError = e;} +module.exports = ret; + + +/***/ }), + +/***/ 62044: +/***/ ((module) => { + +function Caseless (dict) { + this.dict = dict || {} +} +Caseless.prototype.set = function (name, value, clobber) { + if (typeof name === 'object') { + for (var i in name) { + this.set(i, name[i], value) + } + } else { + if (typeof clobber === 'undefined') clobber = true + var has = this.has(name) + + if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value + else this.dict[has || name] = value + return has + } +} +Caseless.prototype.has = function (name) { + var keys = Object.keys(this.dict) + , name = name.toLowerCase() + ; + for (var i=0;i { + +var util = __nccwpck_require__(39023); +var Stream = (__nccwpck_require__(2203).Stream); +var DelayedStream = __nccwpck_require__(28829); + +module.exports = CombinedStream; +function CombinedStream() { + this.writable = false; + this.readable = true; + this.dataSize = 0; + this.maxDataSize = 2 * 1024 * 1024; + this.pauseStreams = true; + + this._released = false; + this._streams = []; + this._currentStream = null; + this._insideLoop = false; + this._pendingNext = false; +} +util.inherits(CombinedStream, Stream); + +CombinedStream.create = function(options) { + var combinedStream = new this(); + + options = options || {}; + for (var option in options) { + combinedStream[option] = options[option]; + } + + return combinedStream; +}; + +CombinedStream.isStreamLike = function(stream) { + return (typeof stream !== 'function') + && (typeof stream !== 'string') + && (typeof stream !== 'boolean') + && (typeof stream !== 'number') + && (!Buffer.isBuffer(stream)); +}; + +CombinedStream.prototype.append = function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + + if (isStreamLike) { + if (!(stream instanceof DelayedStream)) { + var newStream = DelayedStream.create(stream, { + maxDataSize: Infinity, + pauseStream: this.pauseStreams, + }); + stream.on('data', this._checkDataSize.bind(this)); + stream = newStream; + } + + this._handleErrors(stream); + + if (this.pauseStreams) { + stream.pause(); + } + } + + this._streams.push(stream); + return this; +}; + +CombinedStream.prototype.pipe = function(dest, options) { + Stream.prototype.pipe.call(this, dest, options); + this.resume(); + return dest; +}; + +CombinedStream.prototype._getNext = function() { + this._currentStream = null; + + if (this._insideLoop) { + this._pendingNext = true; + return; // defer call + } + + this._insideLoop = true; + try { + do { + this._pendingNext = false; + this._realGetNext(); + } while (this._pendingNext); + } finally { + this._insideLoop = false; + } +}; + +CombinedStream.prototype._realGetNext = function() { + var stream = this._streams.shift(); + + + if (typeof stream == 'undefined') { + this.end(); + return; + } + + if (typeof stream !== 'function') { + this._pipeNext(stream); + return; + } + + var getStream = stream; + getStream(function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('data', this._checkDataSize.bind(this)); + this._handleErrors(stream); + } + + this._pipeNext(stream); + }.bind(this)); +}; + +CombinedStream.prototype._pipeNext = function(stream) { + this._currentStream = stream; + + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('end', this._getNext.bind(this)); + stream.pipe(this, {end: false}); + return; + } + + var value = stream; + this.write(value); + this._getNext(); +}; + +CombinedStream.prototype._handleErrors = function(stream) { + var self = this; + stream.on('error', function(err) { + self._emitError(err); + }); +}; + +CombinedStream.prototype.write = function(data) { + this.emit('data', data); +}; + +CombinedStream.prototype.pause = function() { + if (!this.pauseStreams) { + return; + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause(); + this.emit('pause'); +}; + +CombinedStream.prototype.resume = function() { + if (!this._released) { + this._released = true; + this.writable = true; + this._getNext(); + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume(); + this.emit('resume'); +}; + +CombinedStream.prototype.end = function() { + this._reset(); + this.emit('end'); +}; + +CombinedStream.prototype.destroy = function() { + this._reset(); + this.emit('close'); +}; + +CombinedStream.prototype._reset = function() { + this.writable = false; + this._streams = []; + this._currentStream = null; +}; + +CombinedStream.prototype._checkDataSize = function() { + this._updateDataSize(); + if (this.dataSize <= this.maxDataSize) { + return; + } + + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'; + this._emitError(new Error(message)); +}; + +CombinedStream.prototype._updateDataSize = function() { + this.dataSize = 0; + + var self = this; + this._streams.forEach(function(stream) { + if (!stream.dataSize) { + return; + } + + self.dataSize += stream.dataSize; + }); + + if (this._currentStream && this._currentStream.dataSize) { + this.dataSize += this._currentStream.dataSize; + } +}; + +CombinedStream.prototype._emitError = function(err) { + this._reset(); + this.emit('error', err); +}; + + +/***/ }), + +/***/ 3470: +/***/ ((__unused_webpack_module, exports) => { + +var __webpack_unused_export__; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. + +function isArray(arg) { + if (Array.isArray) { + return Array.isArray(arg); + } + return objectToString(arg) === '[object Array]'; +} +__webpack_unused_export__ = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +__webpack_unused_export__ = isBoolean; + +function isNull(arg) { + return arg === null; +} +__webpack_unused_export__ = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +__webpack_unused_export__ = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +__webpack_unused_export__ = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +__webpack_unused_export__ = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +__webpack_unused_export__ = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +__webpack_unused_export__ = isUndefined; + +function isRegExp(re) { + return objectToString(re) === '[object RegExp]'; +} +__webpack_unused_export__ = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +__webpack_unused_export__ = isObject; + +function isDate(d) { + return objectToString(d) === '[object Date]'; +} +__webpack_unused_export__ = isDate; + +function isError(e) { + return (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.bJ = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +__webpack_unused_export__ = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +__webpack_unused_export__ = isPrimitive; + +__webpack_unused_export__ = Buffer.isBuffer; + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + + +/***/ }), + +/***/ 28829: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var Stream = (__nccwpck_require__(2203).Stream); +var util = __nccwpck_require__(39023); + +module.exports = DelayedStream; +function DelayedStream() { + this.source = null; + this.dataSize = 0; + this.maxDataSize = 1024 * 1024; + this.pauseStream = true; + + this._maxDataSizeExceeded = false; + this._released = false; + this._bufferedEvents = []; +} +util.inherits(DelayedStream, Stream); + +DelayedStream.create = function(source, options) { + var delayedStream = new this(); + + options = options || {}; + for (var option in options) { + delayedStream[option] = options[option]; + } + + delayedStream.source = source; + + var realEmit = source.emit; + source.emit = function() { + delayedStream._handleEmit(arguments); + return realEmit.apply(source, arguments); + }; + + source.on('error', function() {}); + if (delayedStream.pauseStream) { + source.pause(); + } + + return delayedStream; +}; + +Object.defineProperty(DelayedStream.prototype, 'readable', { + configurable: true, + enumerable: true, + get: function() { + return this.source.readable; + } +}); + +DelayedStream.prototype.setEncoding = function() { + return this.source.setEncoding.apply(this.source, arguments); +}; + +DelayedStream.prototype.resume = function() { + if (!this._released) { + this.release(); + } + + this.source.resume(); +}; + +DelayedStream.prototype.pause = function() { + this.source.pause(); +}; + +DelayedStream.prototype.release = function() { + this._released = true; + + this._bufferedEvents.forEach(function(args) { + this.emit.apply(this, args); + }.bind(this)); + this._bufferedEvents = []; +}; + +DelayedStream.prototype.pipe = function() { + var r = Stream.prototype.pipe.apply(this, arguments); + this.resume(); + return r; +}; + +DelayedStream.prototype._handleEmit = function(args) { + if (this._released) { + this.emit.apply(this, args); + return; + } + + if (args[0] === 'data') { + this.dataSize += args[1].length; + this._checkIfMaxDataSizeExceeded(); + } + + this._bufferedEvents.push(args); +}; + +DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() { + if (this._maxDataSizeExceeded) { + return; + } + + if (this.dataSize <= this.maxDataSize) { + return; + } + + this._maxDataSizeExceeded = true; + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.' + this.emit('error', new Error(message)); +}; + + +/***/ }), + +/***/ 75405: +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + +class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} + +exports.Deprecation = Deprecation; + + +/***/ }), + +/***/ 36314: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +var crypto = __nccwpck_require__(76982); +var BigInteger = (__nccwpck_require__(91974).BigInteger); +var ECPointFp = (__nccwpck_require__(33700).ECPointFp); +var Buffer = (__nccwpck_require__(36430).Buffer); +exports.ECCurves = __nccwpck_require__(14423); + +// zero prepad +function unstupid(hex,len) +{ + return (hex.length >= len) ? hex : unstupid("0"+hex,len); +} + +exports.ECKey = function(curve, key, isPublic) +{ + var priv; + var c = curve(); + var n = c.getN(); + var bytes = Math.floor(n.bitLength()/8); + + if(key) + { + if(isPublic) + { + var curve = c.getCurve(); +// var x = key.slice(1,bytes+1); // skip the 04 for uncompressed format +// var y = key.slice(bytes+1); +// this.P = new ECPointFp(curve, +// curve.fromBigInteger(new BigInteger(x.toString("hex"), 16)), +// curve.fromBigInteger(new BigInteger(y.toString("hex"), 16))); + this.P = curve.decodePointHex(key.toString("hex")); + }else{ + if(key.length != bytes) return false; + priv = new BigInteger(key.toString("hex"), 16); + } + }else{ + var n1 = n.subtract(BigInteger.ONE); + var r = new BigInteger(crypto.randomBytes(n.bitLength())); + priv = r.mod(n1).add(BigInteger.ONE); + this.P = c.getG().multiply(priv); + } + if(this.P) + { +// var pubhex = unstupid(this.P.getX().toBigInteger().toString(16),bytes*2)+unstupid(this.P.getY().toBigInteger().toString(16),bytes*2); +// this.PublicKey = Buffer.from("04"+pubhex,"hex"); + this.PublicKey = Buffer.from(c.getCurve().encodeCompressedPointHex(this.P),"hex"); + } + if(priv) + { + this.PrivateKey = Buffer.from(unstupid(priv.toString(16),bytes*2),"hex"); + this.deriveSharedSecret = function(key) + { + if(!key || !key.P) return false; + var S = key.P.multiply(priv); + return Buffer.from(unstupid(S.getX().toBigInteger().toString(16),bytes*2),"hex"); + } + } +} + + + +/***/ }), + +/***/ 33700: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Basic Javascript Elliptic Curve implementation +// Ported loosely from BouncyCastle's Java EC code +// Only Fp curves implemented for now + +// Requires jsbn.js and jsbn2.js +var BigInteger = (__nccwpck_require__(91974).BigInteger) +var Barrett = BigInteger.prototype.Barrett + +// ---------------- +// ECFieldElementFp + +// constructor +function ECFieldElementFp(q,x) { + this.x = x; + // TODO if(x.compareTo(q) >= 0) error + this.q = q; +} + +function feFpEquals(other) { + if(other == this) return true; + return (this.q.equals(other.q) && this.x.equals(other.x)); +} + +function feFpToBigInteger() { + return this.x; +} + +function feFpNegate() { + return new ECFieldElementFp(this.q, this.x.negate().mod(this.q)); +} + +function feFpAdd(b) { + return new ECFieldElementFp(this.q, this.x.add(b.toBigInteger()).mod(this.q)); +} + +function feFpSubtract(b) { + return new ECFieldElementFp(this.q, this.x.subtract(b.toBigInteger()).mod(this.q)); +} + +function feFpMultiply(b) { + return new ECFieldElementFp(this.q, this.x.multiply(b.toBigInteger()).mod(this.q)); +} + +function feFpSquare() { + return new ECFieldElementFp(this.q, this.x.square().mod(this.q)); +} + +function feFpDivide(b) { + return new ECFieldElementFp(this.q, this.x.multiply(b.toBigInteger().modInverse(this.q)).mod(this.q)); +} + +ECFieldElementFp.prototype.equals = feFpEquals; +ECFieldElementFp.prototype.toBigInteger = feFpToBigInteger; +ECFieldElementFp.prototype.negate = feFpNegate; +ECFieldElementFp.prototype.add = feFpAdd; +ECFieldElementFp.prototype.subtract = feFpSubtract; +ECFieldElementFp.prototype.multiply = feFpMultiply; +ECFieldElementFp.prototype.square = feFpSquare; +ECFieldElementFp.prototype.divide = feFpDivide; + +// ---------------- +// ECPointFp + +// constructor +function ECPointFp(curve,x,y,z) { + this.curve = curve; + this.x = x; + this.y = y; + // Projective coordinates: either zinv == null or z * zinv == 1 + // z and zinv are just BigIntegers, not fieldElements + if(z == null) { + this.z = BigInteger.ONE; + } + else { + this.z = z; + } + this.zinv = null; + //TODO: compression flag +} + +function pointFpGetX() { + if(this.zinv == null) { + this.zinv = this.z.modInverse(this.curve.q); + } + var r = this.x.toBigInteger().multiply(this.zinv); + this.curve.reduce(r); + return this.curve.fromBigInteger(r); +} + +function pointFpGetY() { + if(this.zinv == null) { + this.zinv = this.z.modInverse(this.curve.q); + } + var r = this.y.toBigInteger().multiply(this.zinv); + this.curve.reduce(r); + return this.curve.fromBigInteger(r); +} + +function pointFpEquals(other) { + if(other == this) return true; + if(this.isInfinity()) return other.isInfinity(); + if(other.isInfinity()) return this.isInfinity(); + var u, v; + // u = Y2 * Z1 - Y1 * Z2 + u = other.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(other.z)).mod(this.curve.q); + if(!u.equals(BigInteger.ZERO)) return false; + // v = X2 * Z1 - X1 * Z2 + v = other.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(other.z)).mod(this.curve.q); + return v.equals(BigInteger.ZERO); +} + +function pointFpIsInfinity() { + if((this.x == null) && (this.y == null)) return true; + return this.z.equals(BigInteger.ZERO) && !this.y.toBigInteger().equals(BigInteger.ZERO); +} + +function pointFpNegate() { + return new ECPointFp(this.curve, this.x, this.y.negate(), this.z); +} + +function pointFpAdd(b) { + if(this.isInfinity()) return b; + if(b.isInfinity()) return this; + + // u = Y2 * Z1 - Y1 * Z2 + var u = b.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(b.z)).mod(this.curve.q); + // v = X2 * Z1 - X1 * Z2 + var v = b.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(b.z)).mod(this.curve.q); + + if(BigInteger.ZERO.equals(v)) { + if(BigInteger.ZERO.equals(u)) { + return this.twice(); // this == b, so double + } + return this.curve.getInfinity(); // this = -b, so infinity + } + + var THREE = new BigInteger("3"); + var x1 = this.x.toBigInteger(); + var y1 = this.y.toBigInteger(); + var x2 = b.x.toBigInteger(); + var y2 = b.y.toBigInteger(); + + var v2 = v.square(); + var v3 = v2.multiply(v); + var x1v2 = x1.multiply(v2); + var zu2 = u.square().multiply(this.z); + + // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3) + var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.q); + // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3 + var y3 = x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.q); + // z3 = v^3 * z1 * z2 + var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.q); + + return new ECPointFp(this.curve, this.curve.fromBigInteger(x3), this.curve.fromBigInteger(y3), z3); +} + +function pointFpTwice() { + if(this.isInfinity()) return this; + if(this.y.toBigInteger().signum() == 0) return this.curve.getInfinity(); + + // TODO: optimized handling of constants + var THREE = new BigInteger("3"); + var x1 = this.x.toBigInteger(); + var y1 = this.y.toBigInteger(); + + var y1z1 = y1.multiply(this.z); + var y1sqz1 = y1z1.multiply(y1).mod(this.curve.q); + var a = this.curve.a.toBigInteger(); + + // w = 3 * x1^2 + a * z1^2 + var w = x1.square().multiply(THREE); + if(!BigInteger.ZERO.equals(a)) { + w = w.add(this.z.square().multiply(a)); + } + w = w.mod(this.curve.q); + //this.curve.reduce(w); + // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1) + var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.q); + // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3 + var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.square().multiply(w)).mod(this.curve.q); + // z3 = 8 * (y1 * z1)^3 + var z3 = y1z1.square().multiply(y1z1).shiftLeft(3).mod(this.curve.q); + + return new ECPointFp(this.curve, this.curve.fromBigInteger(x3), this.curve.fromBigInteger(y3), z3); +} + +// Simple NAF (Non-Adjacent Form) multiplication algorithm +// TODO: modularize the multiplication algorithm +function pointFpMultiply(k) { + if(this.isInfinity()) return this; + if(k.signum() == 0) return this.curve.getInfinity(); + + var e = k; + var h = e.multiply(new BigInteger("3")); + + var neg = this.negate(); + var R = this; + + var i; + for(i = h.bitLength() - 2; i > 0; --i) { + R = R.twice(); + + var hBit = h.testBit(i); + var eBit = e.testBit(i); + + if (hBit != eBit) { + R = R.add(hBit ? this : neg); + } + } + + return R; +} + +// Compute this*j + x*k (simultaneous multiplication) +function pointFpMultiplyTwo(j,x,k) { + var i; + if(j.bitLength() > k.bitLength()) + i = j.bitLength() - 1; + else + i = k.bitLength() - 1; + + var R = this.curve.getInfinity(); + var both = this.add(x); + while(i >= 0) { + R = R.twice(); + if(j.testBit(i)) { + if(k.testBit(i)) { + R = R.add(both); + } + else { + R = R.add(this); + } + } + else { + if(k.testBit(i)) { + R = R.add(x); + } + } + --i; + } + + return R; +} + +ECPointFp.prototype.getX = pointFpGetX; +ECPointFp.prototype.getY = pointFpGetY; +ECPointFp.prototype.equals = pointFpEquals; +ECPointFp.prototype.isInfinity = pointFpIsInfinity; +ECPointFp.prototype.negate = pointFpNegate; +ECPointFp.prototype.add = pointFpAdd; +ECPointFp.prototype.twice = pointFpTwice; +ECPointFp.prototype.multiply = pointFpMultiply; +ECPointFp.prototype.multiplyTwo = pointFpMultiplyTwo; + +// ---------------- +// ECCurveFp + +// constructor +function ECCurveFp(q,a,b) { + this.q = q; + this.a = this.fromBigInteger(a); + this.b = this.fromBigInteger(b); + this.infinity = new ECPointFp(this, null, null); + this.reducer = new Barrett(this.q); +} + +function curveFpGetQ() { + return this.q; +} + +function curveFpGetA() { + return this.a; +} + +function curveFpGetB() { + return this.b; +} + +function curveFpEquals(other) { + if(other == this) return true; + return(this.q.equals(other.q) && this.a.equals(other.a) && this.b.equals(other.b)); +} + +function curveFpGetInfinity() { + return this.infinity; +} + +function curveFpFromBigInteger(x) { + return new ECFieldElementFp(this.q, x); +} + +function curveReduce(x) { + this.reducer.reduce(x); +} + +// for now, work with hex strings because they're easier in JS +function curveFpDecodePointHex(s) { + switch(parseInt(s.substr(0,2), 16)) { // first byte + case 0: + return this.infinity; + case 2: + case 3: + // point compression not supported yet + return null; + case 4: + case 6: + case 7: + var len = (s.length - 2) / 2; + var xHex = s.substr(2, len); + var yHex = s.substr(len+2, len); + + return new ECPointFp(this, + this.fromBigInteger(new BigInteger(xHex, 16)), + this.fromBigInteger(new BigInteger(yHex, 16))); + + default: // unsupported + return null; + } +} + +function curveFpEncodePointHex(p) { + if (p.isInfinity()) return "00"; + var xHex = p.getX().toBigInteger().toString(16); + var yHex = p.getY().toBigInteger().toString(16); + var oLen = this.getQ().toString(16).length; + if ((oLen % 2) != 0) oLen++; + while (xHex.length < oLen) { + xHex = "0" + xHex; + } + while (yHex.length < oLen) { + yHex = "0" + yHex; + } + return "04" + xHex + yHex; +} + +ECCurveFp.prototype.getQ = curveFpGetQ; +ECCurveFp.prototype.getA = curveFpGetA; +ECCurveFp.prototype.getB = curveFpGetB; +ECCurveFp.prototype.equals = curveFpEquals; +ECCurveFp.prototype.getInfinity = curveFpGetInfinity; +ECCurveFp.prototype.fromBigInteger = curveFpFromBigInteger; +ECCurveFp.prototype.reduce = curveReduce; +//ECCurveFp.prototype.decodePointHex = curveFpDecodePointHex; +ECCurveFp.prototype.encodePointHex = curveFpEncodePointHex; + +// from: https://github.com/kaielvin/jsbn-ec-point-compression +ECCurveFp.prototype.decodePointHex = function(s) +{ + var yIsEven; + switch(parseInt(s.substr(0,2), 16)) { // first byte + case 0: + return this.infinity; + case 2: + yIsEven = false; + case 3: + if(yIsEven == undefined) yIsEven = true; + var len = s.length - 2; + var xHex = s.substr(2, len); + var x = this.fromBigInteger(new BigInteger(xHex,16)); + var alpha = x.multiply(x.square().add(this.getA())).add(this.getB()); + var beta = alpha.sqrt(); + + if (beta == null) throw "Invalid point compression"; + + var betaValue = beta.toBigInteger(); + if (betaValue.testBit(0) != yIsEven) + { + // Use the other root + beta = this.fromBigInteger(this.getQ().subtract(betaValue)); + } + return new ECPointFp(this,x,beta); + case 4: + case 6: + case 7: + var len = (s.length - 2) / 2; + var xHex = s.substr(2, len); + var yHex = s.substr(len+2, len); + + return new ECPointFp(this, + this.fromBigInteger(new BigInteger(xHex, 16)), + this.fromBigInteger(new BigInteger(yHex, 16))); + + default: // unsupported + return null; + } +} +ECCurveFp.prototype.encodeCompressedPointHex = function(p) +{ + if (p.isInfinity()) return "00"; + var xHex = p.getX().toBigInteger().toString(16); + var oLen = this.getQ().toString(16).length; + if ((oLen % 2) != 0) oLen++; + while (xHex.length < oLen) + xHex = "0" + xHex; + var yPrefix; + if(p.getY().toBigInteger().isEven()) yPrefix = "02"; + else yPrefix = "03"; + + return yPrefix + xHex; +} + + +ECFieldElementFp.prototype.getR = function() +{ + if(this.r != undefined) return this.r; + + this.r = null; + var bitLength = this.q.bitLength(); + if (bitLength > 128) + { + var firstWord = this.q.shiftRight(bitLength - 64); + if (firstWord.intValue() == -1) + { + this.r = BigInteger.ONE.shiftLeft(bitLength).subtract(this.q); + } + } + return this.r; +} +ECFieldElementFp.prototype.modMult = function(x1,x2) +{ + return this.modReduce(x1.multiply(x2)); +} +ECFieldElementFp.prototype.modReduce = function(x) +{ + if (this.getR() != null) + { + var qLen = q.bitLength(); + while (x.bitLength() > (qLen + 1)) + { + var u = x.shiftRight(qLen); + var v = x.subtract(u.shiftLeft(qLen)); + if (!this.getR().equals(BigInteger.ONE)) + { + u = u.multiply(this.getR()); + } + x = u.add(v); + } + while (x.compareTo(q) >= 0) + { + x = x.subtract(q); + } + } + else + { + x = x.mod(q); + } + return x; +} +ECFieldElementFp.prototype.sqrt = function() +{ + if (!this.q.testBit(0)) throw "unsupported"; + + // p mod 4 == 3 + if (this.q.testBit(1)) + { + var z = new ECFieldElementFp(this.q,this.x.modPow(this.q.shiftRight(2).add(BigInteger.ONE),this.q)); + return z.square().equals(this) ? z : null; + } + + // p mod 4 == 1 + var qMinusOne = this.q.subtract(BigInteger.ONE); + + var legendreExponent = qMinusOne.shiftRight(1); + if (!(this.x.modPow(legendreExponent, this.q).equals(BigInteger.ONE))) + { + return null; + } + + var u = qMinusOne.shiftRight(2); + var k = u.shiftLeft(1).add(BigInteger.ONE); + + var Q = this.x; + var fourQ = modDouble(modDouble(Q)); + + var U, V; + do + { + var P; + do + { + P = new BigInteger(this.q.bitLength(), new SecureRandom()); + } + while (P.compareTo(this.q) >= 0 + || !(P.multiply(P).subtract(fourQ).modPow(legendreExponent, this.q).equals(qMinusOne))); + + var result = this.lucasSequence(P, Q, k); + U = result[0]; + V = result[1]; + + if (this.modMult(V, V).equals(fourQ)) + { + // Integer division by 2, mod q + if (V.testBit(0)) + { + V = V.add(q); + } + + V = V.shiftRight(1); + + return new ECFieldElementFp(q,V); + } + } + while (U.equals(BigInteger.ONE) || U.equals(qMinusOne)); + + return null; +} +ECFieldElementFp.prototype.lucasSequence = function(P,Q,k) +{ + var n = k.bitLength(); + var s = k.getLowestSetBit(); + + var Uh = BigInteger.ONE; + var Vl = BigInteger.TWO; + var Vh = P; + var Ql = BigInteger.ONE; + var Qh = BigInteger.ONE; + + for (var j = n - 1; j >= s + 1; --j) + { + Ql = this.modMult(Ql, Qh); + + if (k.testBit(j)) + { + Qh = this.modMult(Ql, Q); + Uh = this.modMult(Uh, Vh); + Vl = this.modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))); + Vh = this.modReduce(Vh.multiply(Vh).subtract(Qh.shiftLeft(1))); + } + else + { + Qh = Ql; + Uh = this.modReduce(Uh.multiply(Vl).subtract(Ql)); + Vh = this.modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))); + Vl = this.modReduce(Vl.multiply(Vl).subtract(Ql.shiftLeft(1))); + } + } + + Ql = this.modMult(Ql, Qh); + Qh = this.modMult(Ql, Q); + Uh = this.modReduce(Uh.multiply(Vl).subtract(Ql)); + Vl = this.modReduce(Vh.multiply(Vl).subtract(P.multiply(Ql))); + Ql = this.modMult(Ql, Qh); + + for (var j = 1; j <= s; ++j) + { + Uh = this.modMult(Uh, Vl); + Vl = this.modReduce(Vl.multiply(Vl).subtract(Ql.shiftLeft(1))); + Ql = this.modMult(Ql, Ql); + } + + return [ Uh, Vl ]; +} + +var exports = { + ECCurveFp: ECCurveFp, + ECPointFp: ECPointFp, + ECFieldElementFp: ECFieldElementFp +} + +module.exports = exports + + +/***/ }), + +/***/ 14423: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Named EC curves + +// Requires ec.js, jsbn.js, and jsbn2.js +var BigInteger = (__nccwpck_require__(91974).BigInteger) +var ECCurveFp = (__nccwpck_require__(33700).ECCurveFp) + + +// ---------------- +// X9ECParameters + +// constructor +function X9ECParameters(curve,g,n,h) { + this.curve = curve; + this.g = g; + this.n = n; + this.h = h; +} + +function x9getCurve() { + return this.curve; +} + +function x9getG() { + return this.g; +} + +function x9getN() { + return this.n; +} + +function x9getH() { + return this.h; +} + +X9ECParameters.prototype.getCurve = x9getCurve; +X9ECParameters.prototype.getG = x9getG; +X9ECParameters.prototype.getN = x9getN; +X9ECParameters.prototype.getH = x9getH; + +// ---------------- +// SECNamedCurves + +function fromHex(s) { return new BigInteger(s, 16); } + +function secp128r1() { + // p = 2^128 - 2^97 - 1 + var p = fromHex("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF"); + var a = fromHex("FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC"); + var b = fromHex("E87579C11079F43DD824993C2CEE5ED3"); + //byte[] S = Hex.decode("000E0D4D696E6768756151750CC03A4473D03679"); + var n = fromHex("FFFFFFFE0000000075A30D1B9038A115"); + var h = BigInteger.ONE; + var curve = new ECCurveFp(p, a, b); + var G = curve.decodePointHex("04" + + "161FF7528B899B2D0C28607CA52C5B86" + + "CF5AC8395BAFEB13C02DA292DDED7A83"); + return new X9ECParameters(curve, G, n, h); +} + +function secp160k1() { + // p = 2^160 - 2^32 - 2^14 - 2^12 - 2^9 - 2^8 - 2^7 - 2^3 - 2^2 - 1 + var p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73"); + var a = BigInteger.ZERO; + var b = fromHex("7"); + //byte[] S = null; + var n = fromHex("0100000000000000000001B8FA16DFAB9ACA16B6B3"); + var h = BigInteger.ONE; + var curve = new ECCurveFp(p, a, b); + var G = curve.decodePointHex("04" + + "3B4C382CE37AA192A4019E763036F4F5DD4D7EBB" + + "938CF935318FDCED6BC28286531733C3F03C4FEE"); + return new X9ECParameters(curve, G, n, h); +} + +function secp160r1() { + // p = 2^160 - 2^31 - 1 + var p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF"); + var a = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC"); + var b = fromHex("1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45"); + //byte[] S = Hex.decode("1053CDE42C14D696E67687561517533BF3F83345"); + var n = fromHex("0100000000000000000001F4C8F927AED3CA752257"); + var h = BigInteger.ONE; + var curve = new ECCurveFp(p, a, b); + var G = curve.decodePointHex("04" + + "4A96B5688EF573284664698968C38BB913CBFC82" + + "23A628553168947D59DCC912042351377AC5FB32"); + return new X9ECParameters(curve, G, n, h); +} + +function secp192k1() { + // p = 2^192 - 2^32 - 2^12 - 2^8 - 2^7 - 2^6 - 2^3 - 1 + var p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37"); + var a = BigInteger.ZERO; + var b = fromHex("3"); + //byte[] S = null; + var n = fromHex("FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D"); + var h = BigInteger.ONE; + var curve = new ECCurveFp(p, a, b); + var G = curve.decodePointHex("04" + + "DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D" + + "9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D"); + return new X9ECParameters(curve, G, n, h); +} + +function secp192r1() { + // p = 2^192 - 2^64 - 1 + var p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF"); + var a = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC"); + var b = fromHex("64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1"); + //byte[] S = Hex.decode("3045AE6FC8422F64ED579528D38120EAE12196D5"); + var n = fromHex("FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831"); + var h = BigInteger.ONE; + var curve = new ECCurveFp(p, a, b); + var G = curve.decodePointHex("04" + + "188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012" + + "07192B95FFC8DA78631011ED6B24CDD573F977A11E794811"); + return new X9ECParameters(curve, G, n, h); +} + +function secp224r1() { + // p = 2^224 - 2^96 + 1 + var p = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001"); + var a = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE"); + var b = fromHex("B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4"); + //byte[] S = Hex.decode("BD71344799D5C7FCDC45B59FA3B9AB8F6A948BC5"); + var n = fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D"); + var h = BigInteger.ONE; + var curve = new ECCurveFp(p, a, b); + var G = curve.decodePointHex("04" + + "B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21" + + "BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34"); + return new X9ECParameters(curve, G, n, h); +} + +function secp256r1() { + // p = 2^224 (2^32 - 1) + 2^192 + 2^96 - 1 + var p = fromHex("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF"); + var a = fromHex("FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC"); + var b = fromHex("5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B"); + //byte[] S = Hex.decode("C49D360886E704936A6678E1139D26B7819F7E90"); + var n = fromHex("FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551"); + var h = BigInteger.ONE; + var curve = new ECCurveFp(p, a, b); + var G = curve.decodePointHex("04" + + "6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296" + + "4FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5"); + return new X9ECParameters(curve, G, n, h); +} + +// TODO: make this into a proper hashtable +function getSECCurveByName(name) { + if(name == "secp128r1") return secp128r1(); + if(name == "secp160k1") return secp160k1(); + if(name == "secp160r1") return secp160r1(); + if(name == "secp192k1") return secp192k1(); + if(name == "secp192r1") return secp192r1(); + if(name == "secp224r1") return secp224r1(); + if(name == "secp256r1") return secp256r1(); + return null; +} + +module.exports = { + "secp128r1":secp128r1, + "secp160k1":secp160k1, + "secp160r1":secp160r1, + "secp192k1":secp192k1, + "secp192r1":secp192r1, + "secp224r1":secp224r1, + "secp256r1":secp256r1 +} + + +/***/ }), + +/***/ 15785: +/***/ ((module) => { + +"use strict"; + + +var hasOwn = Object.prototype.hasOwnProperty; +var toStr = Object.prototype.toString; +var defineProperty = Object.defineProperty; +var gOPD = Object.getOwnPropertyDescriptor; + +var isArray = function isArray(arr) { + if (typeof Array.isArray === 'function') { + return Array.isArray(arr); + } + + return toStr.call(arr) === '[object Array]'; +}; + +var isPlainObject = function isPlainObject(obj) { + if (!obj || toStr.call(obj) !== '[object Object]') { + return false; + } + + var hasOwnConstructor = hasOwn.call(obj, 'constructor'); + var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); + // Not own constructor property must be Object + if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + var key; + for (key in obj) { /**/ } + + return typeof key === 'undefined' || hasOwn.call(obj, key); +}; + +// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target +var setProperty = function setProperty(target, options) { + if (defineProperty && options.name === '__proto__') { + defineProperty(target, options.name, { + enumerable: true, + configurable: true, + value: options.newValue, + writable: true + }); + } else { + target[options.name] = options.newValue; + } +}; + +// Return undefined instead of __proto__ if '__proto__' is not an own property +var getProperty = function getProperty(obj, name) { + if (name === '__proto__') { + if (!hasOwn.call(obj, name)) { + return void 0; + } else if (gOPD) { + // In early versions of node, obj['__proto__'] is buggy when obj has + // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. + return gOPD(obj, name).value; + } + } + + return obj[name]; +}; + +module.exports = function extend() { + var options, name, src, copy, copyIsArray, clone; + var target = arguments[0]; + var i = 1; + var length = arguments.length; + var deep = false; + + // Handle a deep copy situation + if (typeof target === 'boolean') { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { + target = {}; + } + + for (; i < length; ++i) { + options = arguments[i]; + // Only deal with non-null/undefined values + if (options != null) { + // Extend the base object + for (name in options) { + src = getProperty(target, name); + copy = getProperty(options, name); + + // Prevent never-ending loop + if (target !== copy) { + // Recurse if we're merging plain objects or arrays + if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { + if (copyIsArray) { + copyIsArray = false; + clone = src && isArray(src) ? src : []; + } else { + clone = src && isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); + + // Don't bring in undefined values + } else if (typeof copy !== 'undefined') { + setProperty(target, { name: name, newValue: copy }); + } + } + } + } + } + + // Return the modified object + return target; +}; + + +/***/ }), + +/***/ 18175: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +/* + * extsprintf.js: extended POSIX-style sprintf + */ + +var mod_assert = __nccwpck_require__(42613); +var mod_util = __nccwpck_require__(39023); + +/* + * Public interface + */ +exports.sprintf = jsSprintf; +exports.printf = jsPrintf; +exports.fprintf = jsFprintf; + +/* + * Stripped down version of s[n]printf(3c). We make a best effort to throw an + * exception when given a format string we don't understand, rather than + * ignoring it, so that we won't break existing programs if/when we go implement + * the rest of this. + * + * This implementation currently supports specifying + * - field alignment ('-' flag), + * - zero-pad ('0' flag) + * - always show numeric sign ('+' flag), + * - field width + * - conversions for strings, decimal integers, and floats (numbers). + * - argument size specifiers. These are all accepted but ignored, since + * Javascript has no notion of the physical size of an argument. + * + * Everything else is currently unsupported, most notably precision, unsigned + * numbers, non-decimal numbers, and characters. + */ +function jsSprintf(fmt) +{ + var regex = [ + '([^%]*)', /* normal text */ + '%', /* start of format */ + '([\'\\-+ #0]*?)', /* flags (optional) */ + '([1-9]\\d*)?', /* width (optional) */ + '(\\.([1-9]\\d*))?', /* precision (optional) */ + '[lhjztL]*?', /* length mods (ignored) */ + '([diouxXfFeEgGaAcCsSp%jr])' /* conversion */ + ].join(''); + + var re = new RegExp(regex); + var args = Array.prototype.slice.call(arguments, 1); + var flags, width, precision, conversion; + var left, pad, sign, arg, match; + var ret = ''; + var argn = 1; + + mod_assert.equal('string', typeof (fmt)); + + while ((match = re.exec(fmt)) !== null) { + ret += match[1]; + fmt = fmt.substring(match[0].length); + + flags = match[2] || ''; + width = match[3] || 0; + precision = match[4] || ''; + conversion = match[6]; + left = false; + sign = false; + pad = ' '; + + if (conversion == '%') { + ret += '%'; + continue; + } + + if (args.length === 0) + throw (new Error('too few args to sprintf')); + + arg = args.shift(); + argn++; + + if (flags.match(/[\' #]/)) + throw (new Error( + 'unsupported flags: ' + flags)); + + if (precision.length > 0) + throw (new Error( + 'non-zero precision not supported')); + + if (flags.match(/-/)) + left = true; + + if (flags.match(/0/)) + pad = '0'; + + if (flags.match(/\+/)) + sign = true; + + switch (conversion) { + case 's': + if (arg === undefined || arg === null) + throw (new Error('argument ' + argn + + ': attempted to print undefined or null ' + + 'as a string')); + ret += doPad(pad, width, left, arg.toString()); + break; + + case 'd': + arg = Math.floor(arg); + /*jsl:fallthru*/ + case 'f': + sign = sign && arg > 0 ? '+' : ''; + ret += sign + doPad(pad, width, left, + arg.toString()); + break; + + case 'x': + ret += doPad(pad, width, left, arg.toString(16)); + break; + + case 'j': /* non-standard */ + if (width === 0) + width = 10; + ret += mod_util.inspect(arg, false, width); + break; + + case 'r': /* non-standard */ + ret += dumpException(arg); + break; + + default: + throw (new Error('unsupported conversion: ' + + conversion)); + } + } + + ret += fmt; + return (ret); +} + +function jsPrintf() { + var args = Array.prototype.slice.call(arguments); + args.unshift(process.stdout); + jsFprintf.apply(null, args); +} + +function jsFprintf(stream) { + var args = Array.prototype.slice.call(arguments, 1); + return (stream.write(jsSprintf.apply(this, args))); +} + +function doPad(chr, width, left, str) +{ + var ret = str; + + while (ret.length < width) { + if (left) + ret += chr; + else + ret = chr + ret; + } + + return (ret); +} + +/* + * This function dumps long stack traces for exceptions having a cause() method. + * See node-verror for an example. + */ +function dumpException(ex) +{ + var ret; + + if (!(ex instanceof Error)) + throw (new Error(jsSprintf('invalid type for %%r: %j', ex))); + + /* Note that V8 prepends "ex.stack" with ex.toString(). */ + ret = 'EXCEPTION: ' + ex.constructor.name + ': ' + ex.stack; + + if (ex.cause && typeof (ex.cause) === 'function') { + var cex = ex.cause(); + if (cex) { + ret += '\nCaused by: ' + dumpException(cex); + } + } + + return (ret); +} + + +/***/ }), + +/***/ 57577: +/***/ ((module) => { + +"use strict"; + + +// do not edit .js files directly - edit src/index.jst + + + +module.exports = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; + + +/***/ }), + +/***/ 30900: +/***/ ((module) => { + +"use strict"; + + +module.exports = function (data, opts) { + if (!opts) opts = {}; + if (typeof opts === 'function') opts = { cmp: opts }; + var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false; + + var cmp = opts.cmp && (function (f) { + return function (node) { + return function (a, b) { + var aobj = { key: a, value: node[a] }; + var bobj = { key: b, value: node[b] }; + return f(aobj, bobj); + }; + }; + })(opts.cmp); + + var seen = []; + return (function stringify (node) { + if (node && node.toJSON && typeof node.toJSON === 'function') { + node = node.toJSON(); + } + + if (node === undefined) return; + if (typeof node == 'number') return isFinite(node) ? '' + node : 'null'; + if (typeof node !== 'object') return JSON.stringify(node); + + var i, out; + if (Array.isArray(node)) { + out = '['; + for (i = 0; i < node.length; i++) { + if (i) out += ','; + out += stringify(node[i]) || 'null'; + } + return out + ']'; + } + + if (node === null) return 'null'; + + if (seen.indexOf(node) !== -1) { + if (cycles) return JSON.stringify('__cycle__'); + throw new TypeError('Converting circular structure to JSON'); + } + + var seenIndex = seen.push(node) - 1; + var keys = Object.keys(node).sort(cmp && cmp(node)); + out = ''; + for (i = 0; i < keys.length; i++) { + var key = keys[i]; + var value = stringify(node[key]); + + if (!value) continue; + if (out) out += ','; + out += JSON.stringify(key) + ':' + value; + } + seen.splice(seenIndex, 1); + return '{' + out + '}'; + })(data); +}; + + +/***/ }), + +/***/ 24044: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +module.exports = ForeverAgent +ForeverAgent.SSL = ForeverAgentSSL + +var util = __nccwpck_require__(39023) + , Agent = (__nccwpck_require__(58611).Agent) + , net = __nccwpck_require__(69278) + , tls = __nccwpck_require__(64756) + , AgentSSL = (__nccwpck_require__(65692).Agent) + +function getConnectionName(host, port) { + var name = '' + if (typeof host === 'string') { + name = host + ':' + port + } else { + // For node.js v012.0 and iojs-v1.5.1, host is an object. And any existing localAddress is part of the connection name. + name = host.host + ':' + host.port + ':' + (host.localAddress ? (host.localAddress + ':') : ':') + } + return name +} + +function ForeverAgent(options) { + var self = this + self.options = options || {} + self.requests = {} + self.sockets = {} + self.freeSockets = {} + self.maxSockets = self.options.maxSockets || Agent.defaultMaxSockets + self.minSockets = self.options.minSockets || ForeverAgent.defaultMinSockets + self.on('free', function(socket, host, port) { + var name = getConnectionName(host, port) + + if (self.requests[name] && self.requests[name].length) { + self.requests[name].shift().onSocket(socket) + } else if (self.sockets[name].length < self.minSockets) { + if (!self.freeSockets[name]) self.freeSockets[name] = [] + self.freeSockets[name].push(socket) + + // if an error happens while we don't use the socket anyway, meh, throw the socket away + var onIdleError = function() { + socket.destroy() + } + socket._onIdleError = onIdleError + socket.on('error', onIdleError) + } else { + // If there are no pending requests just destroy the + // socket and it will get removed from the pool. This + // gets us out of timeout issues and allows us to + // default to Connection:keep-alive. + socket.destroy() + } + }) + +} +util.inherits(ForeverAgent, Agent) + +ForeverAgent.defaultMinSockets = 5 + + +ForeverAgent.prototype.createConnection = net.createConnection +ForeverAgent.prototype.addRequestNoreuse = Agent.prototype.addRequest +ForeverAgent.prototype.addRequest = function(req, host, port) { + var name = getConnectionName(host, port) + + if (typeof host !== 'string') { + var options = host + port = options.port + host = options.host + } + + if (this.freeSockets[name] && this.freeSockets[name].length > 0 && !req.useChunkedEncodingByDefault) { + var idleSocket = this.freeSockets[name].pop() + idleSocket.removeListener('error', idleSocket._onIdleError) + delete idleSocket._onIdleError + req._reusedSocket = true + req.onSocket(idleSocket) + } else { + this.addRequestNoreuse(req, host, port) + } +} + +ForeverAgent.prototype.removeSocket = function(s, name, host, port) { + if (this.sockets[name]) { + var index = this.sockets[name].indexOf(s) + if (index !== -1) { + this.sockets[name].splice(index, 1) + } + } else if (this.sockets[name] && this.sockets[name].length === 0) { + // don't leak + delete this.sockets[name] + delete this.requests[name] + } + + if (this.freeSockets[name]) { + var index = this.freeSockets[name].indexOf(s) + if (index !== -1) { + this.freeSockets[name].splice(index, 1) + if (this.freeSockets[name].length === 0) { + delete this.freeSockets[name] + } + } + } + + if (this.requests[name] && this.requests[name].length) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(name, host, port).emit('free') + } +} + +function ForeverAgentSSL (options) { + ForeverAgent.call(this, options) +} +util.inherits(ForeverAgentSSL, ForeverAgent) + +ForeverAgentSSL.prototype.createConnection = createConnectionSSL +ForeverAgentSSL.prototype.addRequestNoreuse = AgentSSL.prototype.addRequest + +function createConnectionSSL (port, host, options) { + if (typeof port === 'object') { + options = port; + } else if (typeof host === 'object') { + options = host; + } else if (typeof options === 'object') { + options = options; + } else { + options = {}; + } + + if (typeof port === 'number') { + options.port = port; + } + + if (typeof host === 'string') { + options.host = host; + } + + return tls.connect(options); +} + + +/***/ }), + +/***/ 77049: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var CombinedStream = __nccwpck_require__(21321); +var util = __nccwpck_require__(39023); +var path = __nccwpck_require__(16928); +var http = __nccwpck_require__(58611); +var https = __nccwpck_require__(65692); +var parseUrl = (__nccwpck_require__(87016).parse); +var fs = __nccwpck_require__(79896); +var mime = __nccwpck_require__(37321); +var asynckit = __nccwpck_require__(73705); +var populate = __nccwpck_require__(84666); + +// Public API +module.exports = FormData; + +// make it a Stream +util.inherits(FormData, CombinedStream); + +/** + * Create readable "multipart/form-data" streams. + * Can be used to submit forms + * and file uploads to other web applications. + * + * @constructor + * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream + */ +function FormData(options) { + if (!(this instanceof FormData)) { + return new FormData(); + } + + this._overheadLength = 0; + this._valueLength = 0; + this._valuesToMeasure = []; + + CombinedStream.call(this); + + options = options || {}; + for (var option in options) { + this[option] = options[option]; + } +} + +FormData.LINE_BREAK = '\r\n'; +FormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream'; + +FormData.prototype.append = function(field, value, options) { + + options = options || {}; + + // allow filename as single option + if (typeof options == 'string') { + options = {filename: options}; + } + + var append = CombinedStream.prototype.append.bind(this); + + // all that streamy business can't handle numbers + if (typeof value == 'number') { + value = '' + value; + } + + // https://github.com/felixge/node-form-data/issues/38 + if (util.isArray(value)) { + // Please convert your array into string + // the way web server expects it + this._error(new Error('Arrays are not supported.')); + return; + } + + var header = this._multiPartHeader(field, value, options); + var footer = this._multiPartFooter(); + + append(header); + append(value); + append(footer); + + // pass along options.knownLength + this._trackLength(header, value, options); +}; + +FormData.prototype._trackLength = function(header, value, options) { + var valueLength = 0; + + // used w/ getLengthSync(), when length is known. + // e.g. for streaming directly from a remote server, + // w/ a known file a size, and not wanting to wait for + // incoming file to finish to get its size. + if (options.knownLength != null) { + valueLength += +options.knownLength; + } else if (Buffer.isBuffer(value)) { + valueLength = value.length; + } else if (typeof value === 'string') { + valueLength = Buffer.byteLength(value); + } + + this._valueLength += valueLength; + + // @check why add CRLF? does this account for custom/multiple CRLFs? + this._overheadLength += + Buffer.byteLength(header) + + FormData.LINE_BREAK.length; + + // empty or either doesn't have path or not an http response + if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) )) { + return; + } + + // no need to bother with the length + if (!options.knownLength) { + this._valuesToMeasure.push(value); + } +}; + +FormData.prototype._lengthRetriever = function(value, callback) { + + if (value.hasOwnProperty('fd')) { + + // take read range into a account + // `end` = Infinity –> read file till the end + // + // TODO: Looks like there is bug in Node fs.createReadStream + // it doesn't respect `end` options without `start` options + // Fix it when node fixes it. + // https://github.com/joyent/node/issues/7819 + if (value.end != undefined && value.end != Infinity && value.start != undefined) { + + // when end specified + // no need to calculate range + // inclusive, starts with 0 + callback(null, value.end + 1 - (value.start ? value.start : 0)); + + // not that fast snoopy + } else { + // still need to fetch file size from fs + fs.stat(value.path, function(err, stat) { + + var fileSize; + + if (err) { + callback(err); + return; + } + + // update final size based on the range options + fileSize = stat.size - (value.start ? value.start : 0); + callback(null, fileSize); + }); + } + + // or http response + } else if (value.hasOwnProperty('httpVersion')) { + callback(null, +value.headers['content-length']); + + // or request stream http://github.com/mikeal/request + } else if (value.hasOwnProperty('httpModule')) { + // wait till response come back + value.on('response', function(response) { + value.pause(); + callback(null, +response.headers['content-length']); + }); + value.resume(); + + // something else + } else { + callback('Unknown stream'); + } +}; + +FormData.prototype._multiPartHeader = function(field, value, options) { + // custom header specified (as string)? + // it becomes responsible for boundary + // (e.g. to handle extra CRLFs on .NET servers) + if (typeof options.header == 'string') { + return options.header; + } + + var contentDisposition = this._getContentDisposition(value, options); + var contentType = this._getContentType(value, options); + + var contents = ''; + var headers = { + // add custom disposition as third element or keep it two elements if not + 'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []), + // if no content type. allow it to be empty array + 'Content-Type': [].concat(contentType || []) + }; + + // allow custom headers. + if (typeof options.header == 'object') { + populate(headers, options.header); + } + + var header; + for (var prop in headers) { + if (!headers.hasOwnProperty(prop)) continue; + header = headers[prop]; + + // skip nullish headers. + if (header == null) { + continue; + } + + // convert all headers to arrays. + if (!Array.isArray(header)) { + header = [header]; + } + + // add non-empty headers. + if (header.length) { + contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK; + } + } + + return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK; +}; + +FormData.prototype._getContentDisposition = function(value, options) { + + var filename + , contentDisposition + ; + + if (typeof options.filepath === 'string') { + // custom filepath for relative paths + filename = path.normalize(options.filepath).replace(/\\/g, '/'); + } else if (options.filename || value.name || value.path) { + // custom filename take precedence + // formidable and the browser add a name property + // fs- and request- streams have path property + filename = path.basename(options.filename || value.name || value.path); + } else if (value.readable && value.hasOwnProperty('httpVersion')) { + // or try http response + filename = path.basename(value.client._httpMessage.path); + } + + if (filename) { + contentDisposition = 'filename="' + filename + '"'; + } + + return contentDisposition; +}; + +FormData.prototype._getContentType = function(value, options) { + + // use custom content-type above all + var contentType = options.contentType; + + // or try `name` from formidable, browser + if (!contentType && value.name) { + contentType = mime.lookup(value.name); + } + + // or try `path` from fs-, request- streams + if (!contentType && value.path) { + contentType = mime.lookup(value.path); + } + + // or if it's http-reponse + if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) { + contentType = value.headers['content-type']; + } + + // or guess it from the filepath or filename + if (!contentType && (options.filepath || options.filename)) { + contentType = mime.lookup(options.filepath || options.filename); + } + + // fallback to the default content type if `value` is not simple value + if (!contentType && typeof value == 'object') { + contentType = FormData.DEFAULT_CONTENT_TYPE; + } + + return contentType; +}; + +FormData.prototype._multiPartFooter = function() { + return function(next) { + var footer = FormData.LINE_BREAK; + + var lastPart = (this._streams.length === 0); + if (lastPart) { + footer += this._lastBoundary(); + } + + next(footer); + }.bind(this); +}; + +FormData.prototype._lastBoundary = function() { + return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK; +}; + +FormData.prototype.getHeaders = function(userHeaders) { + var header; + var formHeaders = { + 'content-type': 'multipart/form-data; boundary=' + this.getBoundary() + }; + + for (header in userHeaders) { + if (userHeaders.hasOwnProperty(header)) { + formHeaders[header.toLowerCase()] = userHeaders[header]; + } + } + + return formHeaders; +}; + +FormData.prototype.getBoundary = function() { + if (!this._boundary) { + this._generateBoundary(); + } + + return this._boundary; +}; + +FormData.prototype._generateBoundary = function() { + // This generates a 50 character boundary similar to those used by Firefox. + // They are optimized for boyer-moore parsing. + var boundary = '--------------------------'; + for (var i = 0; i < 24; i++) { + boundary += Math.floor(Math.random() * 10).toString(16); + } + + this._boundary = boundary; +}; + +// Note: getLengthSync DOESN'T calculate streams length +// As workaround one can calculate file size manually +// and add it as knownLength option +FormData.prototype.getLengthSync = function() { + var knownLength = this._overheadLength + this._valueLength; + + // Don't get confused, there are 3 "internal" streams for each keyval pair + // so it basically checks if there is any value added to the form + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + // https://github.com/form-data/form-data/issues/40 + if (!this.hasKnownLength()) { + // Some async length retrievers are present + // therefore synchronous length calculation is false. + // Please use getLength(callback) to get proper length + this._error(new Error('Cannot calculate proper length in synchronous way.')); + } + + return knownLength; +}; + +// Public API to check if length of added values is known +// https://github.com/form-data/form-data/issues/196 +// https://github.com/form-data/form-data/issues/262 +FormData.prototype.hasKnownLength = function() { + var hasKnownLength = true; + + if (this._valuesToMeasure.length) { + hasKnownLength = false; + } + + return hasKnownLength; +}; + +FormData.prototype.getLength = function(cb) { + var knownLength = this._overheadLength + this._valueLength; + + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + if (!this._valuesToMeasure.length) { + process.nextTick(cb.bind(this, null, knownLength)); + return; + } + + asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) { + if (err) { + cb(err); + return; + } + + values.forEach(function(length) { + knownLength += length; + }); + + cb(null, knownLength); + }); +}; + +FormData.prototype.submit = function(params, cb) { + var request + , options + , defaults = {method: 'post'} + ; + + // parse provided url if it's string + // or treat it as options object + if (typeof params == 'string') { + + params = parseUrl(params); + options = populate({ + port: params.port, + path: params.pathname, + host: params.hostname, + protocol: params.protocol + }, defaults); + + // use custom params + } else { + + options = populate(params, defaults); + // if no port provided use default one + if (!options.port) { + options.port = options.protocol == 'https:' ? 443 : 80; + } + } + + // put that good code in getHeaders to some use + options.headers = this.getHeaders(params.headers); + + // https if specified, fallback to http in any other case + if (options.protocol == 'https:') { + request = https.request(options); + } else { + request = http.request(options); + } + + // get content length and fire away + this.getLength(function(err, length) { + if (err) { + this._error(err); + return; + } + + // add content length + request.setHeader('Content-Length', length); + + this.pipe(request); + if (cb) { + request.on('error', cb); + request.on('response', cb.bind(this, null)); + } + }.bind(this)); + + return request; +}; + +FormData.prototype._error = function(err) { + if (!this.error) { + this.error = err; + this.pause(); + this.emit('error', err); + } +}; + +FormData.prototype.toString = function () { + return '[object FormData]'; +}; + + +/***/ }), + +/***/ 84666: +/***/ ((module) => { + +// populates missing values +module.exports = function(dst, src) { + + Object.keys(src).forEach(function(prop) + { + dst[prop] = dst[prop] || src[prop]; + }); + + return dst; +}; + + +/***/ }), + +/***/ 5956: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +module.exports = { + afterRequest: __nccwpck_require__(31662), + beforeRequest: __nccwpck_require__(85159), + browser: __nccwpck_require__(43083), + cache: __nccwpck_require__(1045), + content: __nccwpck_require__(67962), + cookie: __nccwpck_require__(28443), + creator: __nccwpck_require__(86771), + entry: __nccwpck_require__(49367), + har: __nccwpck_require__(85444), + header: __nccwpck_require__(90948), + log: __nccwpck_require__(93033), + page: __nccwpck_require__(11958), + pageTimings: __nccwpck_require__(97513), + postData: __nccwpck_require__(38203), + query: __nccwpck_require__(247), + request: __nccwpck_require__(39290), + response: __nccwpck_require__(95998), + timings: __nccwpck_require__(64744) +} + + +/***/ }), + +/***/ 94061: +/***/ ((module) => { + +function HARError (errors) { + var message = 'validation failed' + + this.name = 'HARError' + this.message = message + this.errors = errors + + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, this.constructor) + } else { + this.stack = (new Error(message)).stack + } +} + +HARError.prototype = Error.prototype + +module.exports = HARError + + +/***/ }), + +/***/ 89310: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +var Ajv = __nccwpck_require__(27451) +var HARError = __nccwpck_require__(94061) +var schemas = __nccwpck_require__(5956) + +var ajv + +function createAjvInstance () { + var ajv = new Ajv({ + allErrors: true + }) + ajv.addMetaSchema(__nccwpck_require__(76801)) + ajv.addSchema(schemas) + + return ajv +} + +function validate (name, data) { + data = data || {} + + // validator config + ajv = ajv || createAjvInstance() + + var validate = ajv.getSchema(name + '.json') + + return new Promise(function (resolve, reject) { + var valid = validate(data) + + !valid ? reject(new HARError(validate.errors)) : resolve(data) + }) +} + +exports.afterRequest = function (data) { + return validate('afterRequest', data) +} + +exports.beforeRequest = function (data) { + return validate('beforeRequest', data) +} + +exports.browser = function (data) { + return validate('browser', data) +} + +exports.cache = function (data) { + return validate('cache', data) +} + +exports.content = function (data) { + return validate('content', data) +} + +exports.cookie = function (data) { + return validate('cookie', data) +} + +exports.creator = function (data) { + return validate('creator', data) +} + +exports.entry = function (data) { + return validate('entry', data) +} + +exports.har = function (data) { + return validate('har', data) +} + +exports.header = function (data) { + return validate('header', data) +} + +exports.log = function (data) { + return validate('log', data) +} + +exports.page = function (data) { + return validate('page', data) +} + +exports.pageTimings = function (data) { + return validate('pageTimings', data) +} + +exports.postData = function (data) { + return validate('postData', data) +} + +exports.query = function (data) { + return validate('query', data) +} + +exports.request = function (data) { + return validate('request', data) +} + +exports.response = function (data) { + return validate('response', data) +} + +exports.timings = function (data) { + return validate('timings', data) +} + + +/***/ }), + +/***/ 86194: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright 2015 Joyent, Inc. + +var parser = __nccwpck_require__(45803); +var signer = __nccwpck_require__(27546); +var verify = __nccwpck_require__(33329); +var utils = __nccwpck_require__(35859); + + + +///--- API + +module.exports = { + + parse: parser.parseRequest, + parseRequest: parser.parseRequest, + + sign: signer.signRequest, + signRequest: signer.signRequest, + createSigner: signer.createSigner, + isSigner: signer.isSigner, + + sshKeyToPEM: utils.sshKeyToPEM, + sshKeyFingerprint: utils.fingerprint, + pemToRsaSSHKey: utils.pemToRsaSSHKey, + + verify: verify.verifySignature, + verifySignature: verify.verifySignature, + verifyHMAC: verify.verifyHMAC +}; + + +/***/ }), + +/***/ 45803: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright 2012 Joyent, Inc. All rights reserved. + +var assert = __nccwpck_require__(86750); +var util = __nccwpck_require__(39023); +var utils = __nccwpck_require__(35859); + + + +///--- Globals + +var HASH_ALGOS = utils.HASH_ALGOS; +var PK_ALGOS = utils.PK_ALGOS; +var HttpSignatureError = utils.HttpSignatureError; +var InvalidAlgorithmError = utils.InvalidAlgorithmError; +var validateAlgorithm = utils.validateAlgorithm; + +var State = { + New: 0, + Params: 1 +}; + +var ParamsState = { + Name: 0, + Quote: 1, + Value: 2, + Comma: 3 +}; + + +///--- Specific Errors + + +function ExpiredRequestError(message) { + HttpSignatureError.call(this, message, ExpiredRequestError); +} +util.inherits(ExpiredRequestError, HttpSignatureError); + + +function InvalidHeaderError(message) { + HttpSignatureError.call(this, message, InvalidHeaderError); +} +util.inherits(InvalidHeaderError, HttpSignatureError); + + +function InvalidParamsError(message) { + HttpSignatureError.call(this, message, InvalidParamsError); +} +util.inherits(InvalidParamsError, HttpSignatureError); + + +function MissingHeaderError(message) { + HttpSignatureError.call(this, message, MissingHeaderError); +} +util.inherits(MissingHeaderError, HttpSignatureError); + +function StrictParsingError(message) { + HttpSignatureError.call(this, message, StrictParsingError); +} +util.inherits(StrictParsingError, HttpSignatureError); + +///--- Exported API + +module.exports = { + + /** + * Parses the 'Authorization' header out of an http.ServerRequest object. + * + * Note that this API will fully validate the Authorization header, and throw + * on any error. It will not however check the signature, or the keyId format + * as those are specific to your environment. You can use the options object + * to pass in extra constraints. + * + * As a response object you can expect this: + * + * { + * "scheme": "Signature", + * "params": { + * "keyId": "foo", + * "algorithm": "rsa-sha256", + * "headers": [ + * "date" or "x-date", + * "digest" + * ], + * "signature": "base64" + * }, + * "signingString": "ready to be passed to crypto.verify()" + * } + * + * @param {Object} request an http.ServerRequest. + * @param {Object} options an optional options object with: + * - clockSkew: allowed clock skew in seconds (default 300). + * - headers: required header names (def: date or x-date) + * - algorithms: algorithms to support (default: all). + * - strict: should enforce latest spec parsing + * (default: false). + * @return {Object} parsed out object (see above). + * @throws {TypeError} on invalid input. + * @throws {InvalidHeaderError} on an invalid Authorization header error. + * @throws {InvalidParamsError} if the params in the scheme are invalid. + * @throws {MissingHeaderError} if the params indicate a header not present, + * either in the request headers from the params, + * or not in the params from a required header + * in options. + * @throws {StrictParsingError} if old attributes are used in strict parsing + * mode. + * @throws {ExpiredRequestError} if the value of date or x-date exceeds skew. + */ + parseRequest: function parseRequest(request, options) { + assert.object(request, 'request'); + assert.object(request.headers, 'request.headers'); + if (options === undefined) { + options = {}; + } + if (options.headers === undefined) { + options.headers = [request.headers['x-date'] ? 'x-date' : 'date']; + } + assert.object(options, 'options'); + assert.arrayOfString(options.headers, 'options.headers'); + assert.optionalFinite(options.clockSkew, 'options.clockSkew'); + + var authzHeaderName = options.authorizationHeaderName || 'authorization'; + + if (!request.headers[authzHeaderName]) { + throw new MissingHeaderError('no ' + authzHeaderName + ' header ' + + 'present in the request'); + } + + options.clockSkew = options.clockSkew || 300; + + + var i = 0; + var state = State.New; + var substate = ParamsState.Name; + var tmpName = ''; + var tmpValue = ''; + + var parsed = { + scheme: '', + params: {}, + signingString: '' + }; + + var authz = request.headers[authzHeaderName]; + for (i = 0; i < authz.length; i++) { + var c = authz.charAt(i); + + switch (Number(state)) { + + case State.New: + if (c !== ' ') parsed.scheme += c; + else state = State.Params; + break; + + case State.Params: + switch (Number(substate)) { + + case ParamsState.Name: + var code = c.charCodeAt(0); + // restricted name of A-Z / a-z + if ((code >= 0x41 && code <= 0x5a) || // A-Z + (code >= 0x61 && code <= 0x7a)) { // a-z + tmpName += c; + } else if (c === '=') { + if (tmpName.length === 0) + throw new InvalidHeaderError('bad param format'); + substate = ParamsState.Quote; + } else { + throw new InvalidHeaderError('bad param format'); + } + break; + + case ParamsState.Quote: + if (c === '"') { + tmpValue = ''; + substate = ParamsState.Value; + } else { + throw new InvalidHeaderError('bad param format'); + } + break; + + case ParamsState.Value: + if (c === '"') { + parsed.params[tmpName] = tmpValue; + substate = ParamsState.Comma; + } else { + tmpValue += c; + } + break; + + case ParamsState.Comma: + if (c === ',') { + tmpName = ''; + substate = ParamsState.Name; + } else { + throw new InvalidHeaderError('bad param format'); + } + break; + + default: + throw new Error('Invalid substate'); + } + break; + + default: + throw new Error('Invalid substate'); + } + + } + + if (!parsed.params.headers || parsed.params.headers === '') { + if (request.headers['x-date']) { + parsed.params.headers = ['x-date']; + } else { + parsed.params.headers = ['date']; + } + } else { + parsed.params.headers = parsed.params.headers.split(' '); + } + + // Minimally validate the parsed object + if (!parsed.scheme || parsed.scheme !== 'Signature') + throw new InvalidHeaderError('scheme was not "Signature"'); + + if (!parsed.params.keyId) + throw new InvalidHeaderError('keyId was not specified'); + + if (!parsed.params.algorithm) + throw new InvalidHeaderError('algorithm was not specified'); + + if (!parsed.params.signature) + throw new InvalidHeaderError('signature was not specified'); + + // Check the algorithm against the official list + parsed.params.algorithm = parsed.params.algorithm.toLowerCase(); + try { + validateAlgorithm(parsed.params.algorithm); + } catch (e) { + if (e instanceof InvalidAlgorithmError) + throw (new InvalidParamsError(parsed.params.algorithm + ' is not ' + + 'supported')); + else + throw (e); + } + + // Build the signingString + for (i = 0; i < parsed.params.headers.length; i++) { + var h = parsed.params.headers[i].toLowerCase(); + parsed.params.headers[i] = h; + + if (h === 'request-line') { + if (!options.strict) { + /* + * We allow headers from the older spec drafts if strict parsing isn't + * specified in options. + */ + parsed.signingString += + request.method + ' ' + request.url + ' HTTP/' + request.httpVersion; + } else { + /* Strict parsing doesn't allow older draft headers. */ + throw (new StrictParsingError('request-line is not a valid header ' + + 'with strict parsing enabled.')); + } + } else if (h === '(request-target)') { + parsed.signingString += + '(request-target): ' + request.method.toLowerCase() + ' ' + + request.url; + } else { + var value = request.headers[h]; + if (value === undefined) + throw new MissingHeaderError(h + ' was not in the request'); + parsed.signingString += h + ': ' + value; + } + + if ((i + 1) < parsed.params.headers.length) + parsed.signingString += '\n'; + } + + // Check against the constraints + var date; + if (request.headers.date || request.headers['x-date']) { + if (request.headers['x-date']) { + date = new Date(request.headers['x-date']); + } else { + date = new Date(request.headers.date); + } + var now = new Date(); + var skew = Math.abs(now.getTime() - date.getTime()); + + if (skew > options.clockSkew * 1000) { + throw new ExpiredRequestError('clock skew of ' + + (skew / 1000) + + 's was greater than ' + + options.clockSkew + 's'); + } + } + + options.headers.forEach(function (hdr) { + // Remember that we already checked any headers in the params + // were in the request, so if this passes we're good. + if (parsed.params.headers.indexOf(hdr.toLowerCase()) < 0) + throw new MissingHeaderError(hdr + ' was not a signed header'); + }); + + if (options.algorithms) { + if (options.algorithms.indexOf(parsed.params.algorithm) === -1) + throw new InvalidParamsError(parsed.params.algorithm + + ' is not a supported algorithm'); + } + + parsed.algorithm = parsed.params.algorithm.toUpperCase(); + parsed.keyId = parsed.params.keyId; + return parsed; + } + +}; + + +/***/ }), + +/***/ 27546: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright 2012 Joyent, Inc. All rights reserved. + +var assert = __nccwpck_require__(86750); +var crypto = __nccwpck_require__(76982); +var http = __nccwpck_require__(58611); +var util = __nccwpck_require__(39023); +var sshpk = __nccwpck_require__(30788); +var jsprim = __nccwpck_require__(10595); +var utils = __nccwpck_require__(35859); + +var sprintf = (__nccwpck_require__(39023).format); + +var HASH_ALGOS = utils.HASH_ALGOS; +var PK_ALGOS = utils.PK_ALGOS; +var InvalidAlgorithmError = utils.InvalidAlgorithmError; +var HttpSignatureError = utils.HttpSignatureError; +var validateAlgorithm = utils.validateAlgorithm; + +///--- Globals + +var AUTHZ_FMT = + 'Signature keyId="%s",algorithm="%s",headers="%s",signature="%s"'; + +///--- Specific Errors + +function MissingHeaderError(message) { + HttpSignatureError.call(this, message, MissingHeaderError); +} +util.inherits(MissingHeaderError, HttpSignatureError); + +function StrictParsingError(message) { + HttpSignatureError.call(this, message, StrictParsingError); +} +util.inherits(StrictParsingError, HttpSignatureError); + +/* See createSigner() */ +function RequestSigner(options) { + assert.object(options, 'options'); + + var alg = []; + if (options.algorithm !== undefined) { + assert.string(options.algorithm, 'options.algorithm'); + alg = validateAlgorithm(options.algorithm); + } + this.rs_alg = alg; + + /* + * RequestSigners come in two varieties: ones with an rs_signFunc, and ones + * with an rs_signer. + * + * rs_signFunc-based RequestSigners have to build up their entire signing + * string within the rs_lines array and give it to rs_signFunc as a single + * concat'd blob. rs_signer-based RequestSigners can add a line at a time to + * their signing state by using rs_signer.update(), thus only needing to + * buffer the hash function state and one line at a time. + */ + if (options.sign !== undefined) { + assert.func(options.sign, 'options.sign'); + this.rs_signFunc = options.sign; + + } else if (alg[0] === 'hmac' && options.key !== undefined) { + assert.string(options.keyId, 'options.keyId'); + this.rs_keyId = options.keyId; + + if (typeof (options.key) !== 'string' && !Buffer.isBuffer(options.key)) + throw (new TypeError('options.key for HMAC must be a string or Buffer')); + + /* + * Make an rs_signer for HMACs, not a rs_signFunc -- HMACs digest their + * data in chunks rather than requiring it all to be given in one go + * at the end, so they are more similar to signers than signFuncs. + */ + this.rs_signer = crypto.createHmac(alg[1].toUpperCase(), options.key); + this.rs_signer.sign = function () { + var digest = this.digest('base64'); + return ({ + hashAlgorithm: alg[1], + toString: function () { return (digest); } + }); + }; + + } else if (options.key !== undefined) { + var key = options.key; + if (typeof (key) === 'string' || Buffer.isBuffer(key)) + key = sshpk.parsePrivateKey(key); + + assert.ok(sshpk.PrivateKey.isPrivateKey(key, [1, 2]), + 'options.key must be a sshpk.PrivateKey'); + this.rs_key = key; + + assert.string(options.keyId, 'options.keyId'); + this.rs_keyId = options.keyId; + + if (!PK_ALGOS[key.type]) { + throw (new InvalidAlgorithmError(key.type.toUpperCase() + ' type ' + + 'keys are not supported')); + } + + if (alg[0] !== undefined && key.type !== alg[0]) { + throw (new InvalidAlgorithmError('options.key must be a ' + + alg[0].toUpperCase() + ' key, was given a ' + + key.type.toUpperCase() + ' key instead')); + } + + this.rs_signer = key.createSign(alg[1]); + + } else { + throw (new TypeError('options.sign (func) or options.key is required')); + } + + this.rs_headers = []; + this.rs_lines = []; +} + +/** + * Adds a header to be signed, with its value, into this signer. + * + * @param {String} header + * @param {String} value + * @return {String} value written + */ +RequestSigner.prototype.writeHeader = function (header, value) { + assert.string(header, 'header'); + header = header.toLowerCase(); + assert.string(value, 'value'); + + this.rs_headers.push(header); + + if (this.rs_signFunc) { + this.rs_lines.push(header + ': ' + value); + + } else { + var line = header + ': ' + value; + if (this.rs_headers.length > 0) + line = '\n' + line; + this.rs_signer.update(line); + } + + return (value); +}; + +/** + * Adds a default Date header, returning its value. + * + * @return {String} + */ +RequestSigner.prototype.writeDateHeader = function () { + return (this.writeHeader('date', jsprim.rfc1123(new Date()))); +}; + +/** + * Adds the request target line to be signed. + * + * @param {String} method, HTTP method (e.g. 'get', 'post', 'put') + * @param {String} path + */ +RequestSigner.prototype.writeTarget = function (method, path) { + assert.string(method, 'method'); + assert.string(path, 'path'); + method = method.toLowerCase(); + this.writeHeader('(request-target)', method + ' ' + path); +}; + +/** + * Calculate the value for the Authorization header on this request + * asynchronously. + * + * @param {Func} callback (err, authz) + */ +RequestSigner.prototype.sign = function (cb) { + assert.func(cb, 'callback'); + + if (this.rs_headers.length < 1) + throw (new Error('At least one header must be signed')); + + var alg, authz; + if (this.rs_signFunc) { + var data = this.rs_lines.join('\n'); + var self = this; + this.rs_signFunc(data, function (err, sig) { + if (err) { + cb(err); + return; + } + try { + assert.object(sig, 'signature'); + assert.string(sig.keyId, 'signature.keyId'); + assert.string(sig.algorithm, 'signature.algorithm'); + assert.string(sig.signature, 'signature.signature'); + alg = validateAlgorithm(sig.algorithm); + + authz = sprintf(AUTHZ_FMT, + sig.keyId, + sig.algorithm, + self.rs_headers.join(' '), + sig.signature); + } catch (e) { + cb(e); + return; + } + cb(null, authz); + }); + + } else { + try { + var sigObj = this.rs_signer.sign(); + } catch (e) { + cb(e); + return; + } + alg = (this.rs_alg[0] || this.rs_key.type) + '-' + sigObj.hashAlgorithm; + var signature = sigObj.toString(); + authz = sprintf(AUTHZ_FMT, + this.rs_keyId, + alg, + this.rs_headers.join(' '), + signature); + cb(null, authz); + } +}; + +///--- Exported API + +module.exports = { + /** + * Identifies whether a given object is a request signer or not. + * + * @param {Object} object, the object to identify + * @returns {Boolean} + */ + isSigner: function (obj) { + if (typeof (obj) === 'object' && obj instanceof RequestSigner) + return (true); + return (false); + }, + + /** + * Creates a request signer, used to asynchronously build a signature + * for a request (does not have to be an http.ClientRequest). + * + * @param {Object} options, either: + * - {String} keyId + * - {String|Buffer} key + * - {String} algorithm (optional, required for HMAC) + * or: + * - {Func} sign (data, cb) + * @return {RequestSigner} + */ + createSigner: function createSigner(options) { + return (new RequestSigner(options)); + }, + + /** + * Adds an 'Authorization' header to an http.ClientRequest object. + * + * Note that this API will add a Date header if it's not already set. Any + * other headers in the options.headers array MUST be present, or this + * will throw. + * + * You shouldn't need to check the return type; it's just there if you want + * to be pedantic. + * + * The optional flag indicates whether parsing should use strict enforcement + * of the version draft-cavage-http-signatures-04 of the spec or beyond. + * The default is to be loose and support + * older versions for compatibility. + * + * @param {Object} request an instance of http.ClientRequest. + * @param {Object} options signing parameters object: + * - {String} keyId required. + * - {String} key required (either a PEM or HMAC key). + * - {Array} headers optional; defaults to ['date']. + * - {String} algorithm optional (unless key is HMAC); + * default is the same as the sshpk default + * signing algorithm for the type of key given + * - {String} httpVersion optional; defaults to '1.1'. + * - {Boolean} strict optional; defaults to 'false'. + * @return {Boolean} true if Authorization (and optionally Date) were added. + * @throws {TypeError} on bad parameter types (input). + * @throws {InvalidAlgorithmError} if algorithm was bad or incompatible with + * the given key. + * @throws {sshpk.KeyParseError} if key was bad. + * @throws {MissingHeaderError} if a header to be signed was specified but + * was not present. + */ + signRequest: function signRequest(request, options) { + assert.object(request, 'request'); + assert.object(options, 'options'); + assert.optionalString(options.algorithm, 'options.algorithm'); + assert.string(options.keyId, 'options.keyId'); + assert.optionalArrayOfString(options.headers, 'options.headers'); + assert.optionalString(options.httpVersion, 'options.httpVersion'); + + if (!request.getHeader('Date')) + request.setHeader('Date', jsprim.rfc1123(new Date())); + if (!options.headers) + options.headers = ['date']; + if (!options.httpVersion) + options.httpVersion = '1.1'; + + var alg = []; + if (options.algorithm) { + options.algorithm = options.algorithm.toLowerCase(); + alg = validateAlgorithm(options.algorithm); + } + + var i; + var stringToSign = ''; + for (i = 0; i < options.headers.length; i++) { + if (typeof (options.headers[i]) !== 'string') + throw new TypeError('options.headers must be an array of Strings'); + + var h = options.headers[i].toLowerCase(); + + if (h === 'request-line') { + if (!options.strict) { + /** + * We allow headers from the older spec drafts if strict parsing isn't + * specified in options. + */ + stringToSign += + request.method + ' ' + request.path + ' HTTP/' + + options.httpVersion; + } else { + /* Strict parsing doesn't allow older draft headers. */ + throw (new StrictParsingError('request-line is not a valid header ' + + 'with strict parsing enabled.')); + } + } else if (h === '(request-target)') { + stringToSign += + '(request-target): ' + request.method.toLowerCase() + ' ' + + request.path; + } else { + var value = request.getHeader(h); + if (value === undefined || value === '') { + throw new MissingHeaderError(h + ' was not in the request'); + } + stringToSign += h + ': ' + value; + } + + if ((i + 1) < options.headers.length) + stringToSign += '\n'; + } + + /* This is just for unit tests. */ + if (request.hasOwnProperty('_stringToSign')) { + request._stringToSign = stringToSign; + } + + var signature; + if (alg[0] === 'hmac') { + if (typeof (options.key) !== 'string' && !Buffer.isBuffer(options.key)) + throw (new TypeError('options.key must be a string or Buffer')); + + var hmac = crypto.createHmac(alg[1].toUpperCase(), options.key); + hmac.update(stringToSign); + signature = hmac.digest('base64'); + + } else { + var key = options.key; + if (typeof (key) === 'string' || Buffer.isBuffer(key)) + key = sshpk.parsePrivateKey(options.key); + + assert.ok(sshpk.PrivateKey.isPrivateKey(key, [1, 2]), + 'options.key must be a sshpk.PrivateKey'); + + if (!PK_ALGOS[key.type]) { + throw (new InvalidAlgorithmError(key.type.toUpperCase() + ' type ' + + 'keys are not supported')); + } + + if (alg[0] !== undefined && key.type !== alg[0]) { + throw (new InvalidAlgorithmError('options.key must be a ' + + alg[0].toUpperCase() + ' key, was given a ' + + key.type.toUpperCase() + ' key instead')); + } + + var signer = key.createSign(alg[1]); + signer.update(stringToSign); + var sigObj = signer.sign(); + if (!HASH_ALGOS[sigObj.hashAlgorithm]) { + throw (new InvalidAlgorithmError(sigObj.hashAlgorithm.toUpperCase() + + ' is not a supported hash algorithm')); + } + options.algorithm = key.type + '-' + sigObj.hashAlgorithm; + signature = sigObj.toString(); + assert.notStrictEqual(signature, '', 'empty signature produced'); + } + + var authzHeaderName = options.authorizationHeaderName || 'Authorization'; + + request.setHeader(authzHeaderName, sprintf(AUTHZ_FMT, + options.keyId, + options.algorithm, + options.headers.join(' '), + signature)); + + return true; + } + +}; + + +/***/ }), + +/***/ 35859: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright 2012 Joyent, Inc. All rights reserved. + +var assert = __nccwpck_require__(86750); +var sshpk = __nccwpck_require__(30788); +var util = __nccwpck_require__(39023); + +var HASH_ALGOS = { + 'sha1': true, + 'sha256': true, + 'sha512': true +}; + +var PK_ALGOS = { + 'rsa': true, + 'dsa': true, + 'ecdsa': true +}; + +function HttpSignatureError(message, caller) { + if (Error.captureStackTrace) + Error.captureStackTrace(this, caller || HttpSignatureError); + + this.message = message; + this.name = caller.name; +} +util.inherits(HttpSignatureError, Error); + +function InvalidAlgorithmError(message) { + HttpSignatureError.call(this, message, InvalidAlgorithmError); +} +util.inherits(InvalidAlgorithmError, HttpSignatureError); + +function validateAlgorithm(algorithm) { + var alg = algorithm.toLowerCase().split('-'); + + if (alg.length !== 2) { + throw (new InvalidAlgorithmError(alg[0].toUpperCase() + ' is not a ' + + 'valid algorithm')); + } + + if (alg[0] !== 'hmac' && !PK_ALGOS[alg[0]]) { + throw (new InvalidAlgorithmError(alg[0].toUpperCase() + ' type keys ' + + 'are not supported')); + } + + if (!HASH_ALGOS[alg[1]]) { + throw (new InvalidAlgorithmError(alg[1].toUpperCase() + ' is not a ' + + 'supported hash algorithm')); + } + + return (alg); +} + +///--- API + +module.exports = { + + HASH_ALGOS: HASH_ALGOS, + PK_ALGOS: PK_ALGOS, + + HttpSignatureError: HttpSignatureError, + InvalidAlgorithmError: InvalidAlgorithmError, + + validateAlgorithm: validateAlgorithm, + + /** + * Converts an OpenSSH public key (rsa only) to a PKCS#8 PEM file. + * + * The intent of this module is to interoperate with OpenSSL only, + * specifically the node crypto module's `verify` method. + * + * @param {String} key an OpenSSH public key. + * @return {String} PEM encoded form of the RSA public key. + * @throws {TypeError} on bad input. + * @throws {Error} on invalid ssh key formatted data. + */ + sshKeyToPEM: function sshKeyToPEM(key) { + assert.string(key, 'ssh_key'); + + var k = sshpk.parseKey(key, 'ssh'); + return (k.toString('pem')); + }, + + + /** + * Generates an OpenSSH fingerprint from an ssh public key. + * + * @param {String} key an OpenSSH public key. + * @return {String} key fingerprint. + * @throws {TypeError} on bad input. + * @throws {Error} if what you passed doesn't look like an ssh public key. + */ + fingerprint: function fingerprint(key) { + assert.string(key, 'ssh_key'); + + var k = sshpk.parseKey(key, 'ssh'); + return (k.fingerprint('md5').toString('hex')); + }, + + /** + * Converts a PKGCS#8 PEM file to an OpenSSH public key (rsa) + * + * The reverse of the above function. + */ + pemToRsaSSHKey: function pemToRsaSSHKey(pem, comment) { + assert.equal('string', typeof (pem), 'typeof pem'); + + var k = sshpk.parseKey(pem, 'pem'); + k.comment = comment; + return (k.toString('ssh')); + } +}; + + +/***/ }), + +/***/ 33329: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +// Copyright 2015 Joyent, Inc. + +var assert = __nccwpck_require__(86750); +var crypto = __nccwpck_require__(76982); +var sshpk = __nccwpck_require__(30788); +var utils = __nccwpck_require__(35859); + +var HASH_ALGOS = utils.HASH_ALGOS; +var PK_ALGOS = utils.PK_ALGOS; +var InvalidAlgorithmError = utils.InvalidAlgorithmError; +var HttpSignatureError = utils.HttpSignatureError; +var validateAlgorithm = utils.validateAlgorithm; + +///--- Exported API + +module.exports = { + /** + * Verify RSA/DSA signature against public key. You are expected to pass in + * an object that was returned from `parse()`. + * + * @param {Object} parsedSignature the object you got from `parse`. + * @param {String} pubkey RSA/DSA private key PEM. + * @return {Boolean} true if valid, false otherwise. + * @throws {TypeError} if you pass in bad arguments. + * @throws {InvalidAlgorithmError} + */ + verifySignature: function verifySignature(parsedSignature, pubkey) { + assert.object(parsedSignature, 'parsedSignature'); + if (typeof (pubkey) === 'string' || Buffer.isBuffer(pubkey)) + pubkey = sshpk.parseKey(pubkey); + assert.ok(sshpk.Key.isKey(pubkey, [1, 1]), 'pubkey must be a sshpk.Key'); + + var alg = validateAlgorithm(parsedSignature.algorithm); + if (alg[0] === 'hmac' || alg[0] !== pubkey.type) + return (false); + + var v = pubkey.createVerify(alg[1]); + v.update(parsedSignature.signingString); + return (v.verify(parsedSignature.params.signature, 'base64')); + }, + + /** + * Verify HMAC against shared secret. You are expected to pass in an object + * that was returned from `parse()`. + * + * @param {Object} parsedSignature the object you got from `parse`. + * @param {String} secret HMAC shared secret. + * @return {Boolean} true if valid, false otherwise. + * @throws {TypeError} if you pass in bad arguments. + * @throws {InvalidAlgorithmError} + */ + verifyHMAC: function verifyHMAC(parsedSignature, secret) { + assert.object(parsedSignature, 'parsedHMAC'); + assert.string(secret, 'secret'); + + var alg = validateAlgorithm(parsedSignature.algorithm); + if (alg[0] !== 'hmac') + return (false); + + var hashAlg = alg[1].toUpperCase(); + + var hmac = crypto.createHmac(hashAlg, secret); + hmac.update(parsedSignature.signingString); + + /* + * Now double-hash to avoid leaking timing information - there's + * no easy constant-time compare in JS, so we use this approach + * instead. See for more info: + * https://www.isecpartners.com/blog/2011/february/double-hmac- + * verification.aspx + */ + var h1 = crypto.createHmac(hashAlg, secret); + h1.update(hmac.digest()); + h1 = h1.digest(); + var h2 = crypto.createHmac(hashAlg, secret); + h2.update(new Buffer(parsedSignature.params.signature, 'base64')); + h2 = h2.digest(); + + /* Node 0.8 returns strings from .digest(). */ + if (typeof (h1) === 'string') + return (h1 === h2); + /* And node 0.10 lacks the .equals() method on Buffers. */ + if (Buffer.isBuffer(h1) && !h1.equals) + return (h1.toString('binary') === h2.toString('binary')); + + return (h1.equals(h2)); + } +}; + + +/***/ }), + +/***/ 95473: +/***/ ((module) => { + +module.exports = isTypedArray +isTypedArray.strict = isStrictTypedArray +isTypedArray.loose = isLooseTypedArray + +var toString = Object.prototype.toString +var names = { + '[object Int8Array]': true + , '[object Int16Array]': true + , '[object Int32Array]': true + , '[object Uint8Array]': true + , '[object Uint8ClampedArray]': true + , '[object Uint16Array]': true + , '[object Uint32Array]': true + , '[object Float32Array]': true + , '[object Float64Array]': true +} + +function isTypedArray(arr) { + return ( + isStrictTypedArray(arr) + || isLooseTypedArray(arr) + ) +} + +function isStrictTypedArray(arr) { + return ( + arr instanceof Int8Array + || arr instanceof Int16Array + || arr instanceof Int32Array + || arr instanceof Uint8Array + || arr instanceof Uint8ClampedArray + || arr instanceof Uint16Array + || arr instanceof Uint32Array + || arr instanceof Float32Array + || arr instanceof Float64Array + ) +} + +function isLooseTypedArray(arr) { + return names[toString.call(arr)] +} + + +/***/ }), + +/***/ 13341: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +var stream = __nccwpck_require__(2203) + + +function isStream (obj) { + return obj instanceof stream.Stream +} + + +function isReadable (obj) { + return isStream(obj) && typeof obj._read == 'function' && typeof obj._readableState == 'object' +} + + +function isWritable (obj) { + return isStream(obj) && typeof obj._write == 'function' && typeof obj._writableState == 'object' +} + + +function isDuplex (obj) { + return isReadable(obj) && isWritable(obj) +} + + +module.exports = isStream +module.exports.isReadable = isReadable +module.exports.isWritable = isWritable +module.exports.isDuplex = isDuplex + + +/***/ }), + +/***/ 56018: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + + +var loader = __nccwpck_require__(34883); +var dumper = __nccwpck_require__(69045); + + +function renamed(from, to) { + return function () { + throw new Error('Function yaml.' + from + ' is removed in js-yaml 4. ' + + 'Use yaml.' + to + ' instead, which is now safe by default.'); + }; +} + + +module.exports.Type = __nccwpck_require__(62420); +module.exports.Schema = __nccwpck_require__(45199); +module.exports.FAILSAFE_SCHEMA = __nccwpck_require__(17159); +module.exports.JSON_SCHEMA = __nccwpck_require__(78272); +module.exports.CORE_SCHEMA = __nccwpck_require__(55169); +module.exports.DEFAULT_SCHEMA = __nccwpck_require__(89001); +module.exports.load = loader.load; +module.exports.loadAll = loader.loadAll; +module.exports.dump = dumper.dump; +module.exports.YAMLException = __nccwpck_require__(5031); + +// Re-export all types in case user wants to create custom schema +module.exports.types = { + binary: __nccwpck_require__(24582), + float: __nccwpck_require__(52029), + map: __nccwpck_require__(55561), + null: __nccwpck_require__(66086), + pairs: __nccwpck_require__(8566), + set: __nccwpck_require__(88175), + timestamp: __nccwpck_require__(21895), + bool: __nccwpck_require__(85919), + int: __nccwpck_require__(38618), + merge: __nccwpck_require__(58035), + omap: __nccwpck_require__(66154), + seq: __nccwpck_require__(35396), + str: __nccwpck_require__(9156) +}; + +// Removed functions from JS-YAML 3.0.x +module.exports.safeLoad = renamed('safeLoad', 'load'); +module.exports.safeLoadAll = renamed('safeLoadAll', 'loadAll'); +module.exports.safeDump = renamed('safeDump', 'dump'); + + +/***/ }), + +/***/ 50377: +/***/ ((module) => { + +"use strict"; + + + +function isNothing(subject) { + return (typeof subject === 'undefined') || (subject === null); +} + + +function isObject(subject) { + return (typeof subject === 'object') && (subject !== null); +} + + +function toArray(sequence) { + if (Array.isArray(sequence)) return sequence; + else if (isNothing(sequence)) return []; + + return [ sequence ]; +} + + +function extend(target, source) { + var index, length, key, sourceKeys; + + if (source) { + sourceKeys = Object.keys(source); + + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key = sourceKeys[index]; + target[key] = source[key]; + } + } + + return target; +} + + +function repeat(string, count) { + var result = '', cycle; + + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } + + return result; +} + + +function isNegativeZero(number) { + return (number === 0) && (Number.NEGATIVE_INFINITY === 1 / number); +} + + +module.exports.isNothing = isNothing; +module.exports.isObject = isObject; +module.exports.toArray = toArray; +module.exports.repeat = repeat; +module.exports.isNegativeZero = isNegativeZero; +module.exports.extend = extend; + + +/***/ }), + +/***/ 69045: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable no-use-before-define*/ + +var common = __nccwpck_require__(50377); +var YAMLException = __nccwpck_require__(5031); +var DEFAULT_SCHEMA = __nccwpck_require__(89001); + +var _toString = Object.prototype.toString; +var _hasOwnProperty = Object.prototype.hasOwnProperty; + +var CHAR_BOM = 0xFEFF; +var CHAR_TAB = 0x09; /* Tab */ +var CHAR_LINE_FEED = 0x0A; /* LF */ +var CHAR_CARRIAGE_RETURN = 0x0D; /* CR */ +var CHAR_SPACE = 0x20; /* Space */ +var CHAR_EXCLAMATION = 0x21; /* ! */ +var CHAR_DOUBLE_QUOTE = 0x22; /* " */ +var CHAR_SHARP = 0x23; /* # */ +var CHAR_PERCENT = 0x25; /* % */ +var CHAR_AMPERSAND = 0x26; /* & */ +var CHAR_SINGLE_QUOTE = 0x27; /* ' */ +var CHAR_ASTERISK = 0x2A; /* * */ +var CHAR_COMMA = 0x2C; /* , */ +var CHAR_MINUS = 0x2D; /* - */ +var CHAR_COLON = 0x3A; /* : */ +var CHAR_EQUALS = 0x3D; /* = */ +var CHAR_GREATER_THAN = 0x3E; /* > */ +var CHAR_QUESTION = 0x3F; /* ? */ +var CHAR_COMMERCIAL_AT = 0x40; /* @ */ +var CHAR_LEFT_SQUARE_BRACKET = 0x5B; /* [ */ +var CHAR_RIGHT_SQUARE_BRACKET = 0x5D; /* ] */ +var CHAR_GRAVE_ACCENT = 0x60; /* ` */ +var CHAR_LEFT_CURLY_BRACKET = 0x7B; /* { */ +var CHAR_VERTICAL_LINE = 0x7C; /* | */ +var CHAR_RIGHT_CURLY_BRACKET = 0x7D; /* } */ + +var ESCAPE_SEQUENCES = {}; + +ESCAPE_SEQUENCES[0x00] = '\\0'; +ESCAPE_SEQUENCES[0x07] = '\\a'; +ESCAPE_SEQUENCES[0x08] = '\\b'; +ESCAPE_SEQUENCES[0x09] = '\\t'; +ESCAPE_SEQUENCES[0x0A] = '\\n'; +ESCAPE_SEQUENCES[0x0B] = '\\v'; +ESCAPE_SEQUENCES[0x0C] = '\\f'; +ESCAPE_SEQUENCES[0x0D] = '\\r'; +ESCAPE_SEQUENCES[0x1B] = '\\e'; +ESCAPE_SEQUENCES[0x22] = '\\"'; +ESCAPE_SEQUENCES[0x5C] = '\\\\'; +ESCAPE_SEQUENCES[0x85] = '\\N'; +ESCAPE_SEQUENCES[0xA0] = '\\_'; +ESCAPE_SEQUENCES[0x2028] = '\\L'; +ESCAPE_SEQUENCES[0x2029] = '\\P'; + +var DEPRECATED_BOOLEANS_SYNTAX = [ + 'y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', + 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF' +]; + +var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/; + +function compileStyleMap(schema, map) { + var result, keys, index, length, tag, style, type; + + if (map === null) return {}; + + result = {}; + keys = Object.keys(map); + + for (index = 0, length = keys.length; index < length; index += 1) { + tag = keys[index]; + style = String(map[tag]); + + if (tag.slice(0, 2) === '!!') { + tag = 'tag:yaml.org,2002:' + tag.slice(2); + } + type = schema.compiledTypeMap['fallback'][tag]; + + if (type && _hasOwnProperty.call(type.styleAliases, style)) { + style = type.styleAliases[style]; + } + + result[tag] = style; + } + + return result; +} + +function encodeHex(character) { + var string, handle, length; + + string = character.toString(16).toUpperCase(); + + if (character <= 0xFF) { + handle = 'x'; + length = 2; + } else if (character <= 0xFFFF) { + handle = 'u'; + length = 4; + } else if (character <= 0xFFFFFFFF) { + handle = 'U'; + length = 8; + } else { + throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF'); + } + + return '\\' + handle + common.repeat('0', length - string.length) + string; +} + + +var QUOTING_TYPE_SINGLE = 1, + QUOTING_TYPE_DOUBLE = 2; + +function State(options) { + this.schema = options['schema'] || DEFAULT_SCHEMA; + this.indent = Math.max(1, (options['indent'] || 2)); + this.noArrayIndent = options['noArrayIndent'] || false; + this.skipInvalid = options['skipInvalid'] || false; + this.flowLevel = (common.isNothing(options['flowLevel']) ? -1 : options['flowLevel']); + this.styleMap = compileStyleMap(this.schema, options['styles'] || null); + this.sortKeys = options['sortKeys'] || false; + this.lineWidth = options['lineWidth'] || 80; + this.noRefs = options['noRefs'] || false; + this.noCompatMode = options['noCompatMode'] || false; + this.condenseFlow = options['condenseFlow'] || false; + this.quotingType = options['quotingType'] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE; + this.forceQuotes = options['forceQuotes'] || false; + this.replacer = typeof options['replacer'] === 'function' ? options['replacer'] : null; + + this.implicitTypes = this.schema.compiledImplicit; + this.explicitTypes = this.schema.compiledExplicit; + + this.tag = null; + this.result = ''; + + this.duplicates = []; + this.usedDuplicates = null; +} + +// Indents every line in a string. Empty lines (\n only) are not indented. +function indentString(string, spaces) { + var ind = common.repeat(' ', spaces), + position = 0, + next = -1, + result = '', + line, + length = string.length; + + while (position < length) { + next = string.indexOf('\n', position); + if (next === -1) { + line = string.slice(position); + position = length; + } else { + line = string.slice(position, next + 1); + position = next + 1; + } + + if (line.length && line !== '\n') result += ind; + + result += line; + } + + return result; +} + +function generateNextLine(state, level) { + return '\n' + common.repeat(' ', state.indent * level); +} + +function testImplicitResolving(state, str) { + var index, length, type; + + for (index = 0, length = state.implicitTypes.length; index < length; index += 1) { + type = state.implicitTypes[index]; + + if (type.resolve(str)) { + return true; + } + } + + return false; +} + +// [33] s-white ::= s-space | s-tab +function isWhitespace(c) { + return c === CHAR_SPACE || c === CHAR_TAB; +} + +// Returns true if the character can be printed without escaping. +// From YAML 1.2: "any allowed characters known to be non-printable +// should also be escaped. [However,] This isn’t mandatory" +// Derived from nb-char - \t - #x85 - #xA0 - #x2028 - #x2029. +function isPrintable(c) { + return (0x00020 <= c && c <= 0x00007E) + || ((0x000A1 <= c && c <= 0x00D7FF) && c !== 0x2028 && c !== 0x2029) + || ((0x0E000 <= c && c <= 0x00FFFD) && c !== CHAR_BOM) + || (0x10000 <= c && c <= 0x10FFFF); +} + +// [34] ns-char ::= nb-char - s-white +// [27] nb-char ::= c-printable - b-char - c-byte-order-mark +// [26] b-char ::= b-line-feed | b-carriage-return +// Including s-white (for some reason, examples doesn't match specs in this aspect) +// ns-char ::= c-printable - b-line-feed - b-carriage-return - c-byte-order-mark +function isNsCharOrWhitespace(c) { + return isPrintable(c) + && c !== CHAR_BOM + // - b-char + && c !== CHAR_CARRIAGE_RETURN + && c !== CHAR_LINE_FEED; +} + +// [127] ns-plain-safe(c) ::= c = flow-out ⇒ ns-plain-safe-out +// c = flow-in ⇒ ns-plain-safe-in +// c = block-key ⇒ ns-plain-safe-out +// c = flow-key ⇒ ns-plain-safe-in +// [128] ns-plain-safe-out ::= ns-char +// [129] ns-plain-safe-in ::= ns-char - c-flow-indicator +// [130] ns-plain-char(c) ::= ( ns-plain-safe(c) - “:†- “#†) +// | ( /* An ns-char preceding */ “#†) +// | ( “:†/* Followed by an ns-plain-safe(c) */ ) +function isPlainSafe(c, prev, inblock) { + var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c); + var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c); + return ( + // ns-plain-safe + inblock ? // c = flow-in + cIsNsCharOrWhitespace + : cIsNsCharOrWhitespace + // - c-flow-indicator + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + ) + // ns-plain-char + && c !== CHAR_SHARP // false on '#' + && !(prev === CHAR_COLON && !cIsNsChar) // false on ': ' + || (isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP) // change to true on '[^ ]#' + || (prev === CHAR_COLON && cIsNsChar); // change to true on ':[^ ]' +} + +// Simplified test for values allowed as the first character in plain style. +function isPlainSafeFirst(c) { + // Uses a subset of ns-char - c-indicator + // where ns-char = nb-char - s-white. + // No support of ( ( “?†| “:†| “-†) /* Followed by an ns-plain-safe(c)) */ ) part + return isPrintable(c) && c !== CHAR_BOM + && !isWhitespace(c) // - s-white + // - (c-indicator ::= + // “-†| “?†| “:†| “,†| “[†| “]†| “{†| “}†+ && c !== CHAR_MINUS + && c !== CHAR_QUESTION + && c !== CHAR_COLON + && c !== CHAR_COMMA + && c !== CHAR_LEFT_SQUARE_BRACKET + && c !== CHAR_RIGHT_SQUARE_BRACKET + && c !== CHAR_LEFT_CURLY_BRACKET + && c !== CHAR_RIGHT_CURLY_BRACKET + // | “#†| “&†| “*†| “!†| “|†| “=†| “>†| “'†| “"†+ && c !== CHAR_SHARP + && c !== CHAR_AMPERSAND + && c !== CHAR_ASTERISK + && c !== CHAR_EXCLAMATION + && c !== CHAR_VERTICAL_LINE + && c !== CHAR_EQUALS + && c !== CHAR_GREATER_THAN + && c !== CHAR_SINGLE_QUOTE + && c !== CHAR_DOUBLE_QUOTE + // | “%†| “@†| “`â€) + && c !== CHAR_PERCENT + && c !== CHAR_COMMERCIAL_AT + && c !== CHAR_GRAVE_ACCENT; +} + +// Simplified test for values allowed as the last character in plain style. +function isPlainSafeLast(c) { + // just not whitespace or colon, it will be checked to be plain character later + return !isWhitespace(c) && c !== CHAR_COLON; +} + +// Same as 'string'.codePointAt(pos), but works in older browsers. +function codePointAt(string, pos) { + var first = string.charCodeAt(pos), second; + if (first >= 0xD800 && first <= 0xDBFF && pos + 1 < string.length) { + second = string.charCodeAt(pos + 1); + if (second >= 0xDC00 && second <= 0xDFFF) { + // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + } + } + return first; +} + +// Determines whether block indentation indicator is required. +function needIndentIndicator(string) { + var leadingSpaceRe = /^\n* /; + return leadingSpaceRe.test(string); +} + +var STYLE_PLAIN = 1, + STYLE_SINGLE = 2, + STYLE_LITERAL = 3, + STYLE_FOLDED = 4, + STYLE_DOUBLE = 5; + +// Determines which scalar styles are possible and returns the preferred style. +// lineWidth = -1 => no limit. +// Pre-conditions: str.length > 0. +// Post-conditions: +// STYLE_PLAIN or STYLE_SINGLE => no \n are in the string. +// STYLE_LITERAL => no lines are suitable for folding (or lineWidth is -1). +// STYLE_FOLDED => a line > lineWidth and can be folded (and lineWidth != -1). +function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, + testAmbiguousType, quotingType, forceQuotes, inblock) { + + var i; + var char = 0; + var prevChar = null; + var hasLineBreak = false; + var hasFoldableLine = false; // only checked if shouldTrackWidth + var shouldTrackWidth = lineWidth !== -1; + var previousLineBreak = -1; // count the first line correctly + var plain = isPlainSafeFirst(codePointAt(string, 0)) + && isPlainSafeLast(codePointAt(string, string.length - 1)); + + if (singleLineOnly || forceQuotes) { + // Case: no block styles. + // Check for disallowed characters to rule out plain and single. + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + } else { + // Case: block styles permitted. + for (i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + if (char === CHAR_LINE_FEED) { + hasLineBreak = true; + // Check if any line can be folded. + if (shouldTrackWidth) { + hasFoldableLine = hasFoldableLine || + // Foldable line = too long, and not more-indented. + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' '); + previousLineBreak = i; + } + } else if (!isPrintable(char)) { + return STYLE_DOUBLE; + } + plain = plain && isPlainSafe(char, prevChar, inblock); + prevChar = char; + } + // in case the end is missing a \n + hasFoldableLine = hasFoldableLine || (shouldTrackWidth && + (i - previousLineBreak - 1 > lineWidth && + string[previousLineBreak + 1] !== ' ')); + } + // Although every style can represent \n without escaping, prefer block styles + // for multiline, since they're more readable and they don't add empty lines. + // Also prefer folding a super-long line. + if (!hasLineBreak && !hasFoldableLine) { + // Strings interpretable as another type have to be quoted; + // e.g. the string 'true' vs. the boolean true. + if (plain && !forceQuotes && !testAmbiguousType(string)) { + return STYLE_PLAIN; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; + } + // Edge case: block indentation indicator can only have one digit. + if (indentPerLevel > 9 && needIndentIndicator(string)) { + return STYLE_DOUBLE; + } + // At this point we know block styles are valid. + // Prefer literal style unless we want to fold. + if (!forceQuotes) { + return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL; + } + return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE; +} + +// Note: line breaking/folding is implemented for only the folded style. +// NB. We drop the last trailing newline (if any) of a returned block scalar +// since the dumper adds its own newline. This always works: +// • No ending newline => unaffected; already using strip "-" chomping. +// • Ending newline => removed then restored. +// Importantly, this keeps the "+" chomp indicator from gaining an extra line. +function writeScalar(state, string, level, iskey, inblock) { + state.dump = (function () { + if (string.length === 0) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''"; + } + if (!state.noCompatMode) { + if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) { + return state.quotingType === QUOTING_TYPE_DOUBLE ? ('"' + string + '"') : ("'" + string + "'"); + } + } + + var indent = state.indent * Math.max(1, level); // no 0-indent scalars + // As indentation gets deeper, let the width decrease monotonically + // to the lower bound min(state.lineWidth, 40). + // Note that this implies + // state.lineWidth ≤ 40 + state.indent: width is fixed at the lower bound. + // state.lineWidth > 40 + state.indent: width decreases until the lower bound. + // This behaves better than a constant minimum width which disallows narrower options, + // or an indent threshold which causes the width to suddenly increase. + var lineWidth = state.lineWidth === -1 + ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent); + + // Without knowing if keys are implicit/explicit, assume implicit for safety. + var singleLineOnly = iskey + // No block styles in flow mode. + || (state.flowLevel > -1 && level >= state.flowLevel); + function testAmbiguity(string) { + return testImplicitResolving(state, string); + } + + switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, + testAmbiguity, state.quotingType, state.forceQuotes && !iskey, inblock)) { + + case STYLE_PLAIN: + return string; + case STYLE_SINGLE: + return "'" + string.replace(/'/g, "''") + "'"; + case STYLE_LITERAL: + return '|' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(string, indent)); + case STYLE_FOLDED: + return '>' + blockHeader(string, state.indent) + + dropEndingNewline(indentString(foldString(string, lineWidth), indent)); + case STYLE_DOUBLE: + return '"' + escapeString(string, lineWidth) + '"'; + default: + throw new YAMLException('impossible error: invalid scalar style'); + } + }()); +} + +// Pre-conditions: string is valid for a block scalar, 1 <= indentPerLevel <= 9. +function blockHeader(string, indentPerLevel) { + var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : ''; + + // note the special case: the string '\n' counts as a "trailing" empty line. + var clip = string[string.length - 1] === '\n'; + var keep = clip && (string[string.length - 2] === '\n' || string === '\n'); + var chomp = keep ? '+' : (clip ? '' : '-'); + + return indentIndicator + chomp + '\n'; +} + +// (See the note for writeScalar.) +function dropEndingNewline(string) { + return string[string.length - 1] === '\n' ? string.slice(0, -1) : string; +} + +// Note: a long line without a suitable break point will exceed the width limit. +// Pre-conditions: every char in str isPrintable, str.length > 0, width > 0. +function foldString(string, width) { + // In folded style, $k$ consecutive newlines output as $k+1$ newlines— + // unless they're before or after a more-indented line, or at the very + // beginning or end, in which case $k$ maps to $k$. + // Therefore, parse each chunk as newline(s) followed by a content line. + var lineRe = /(\n+)([^\n]*)/g; + + // first line (possibly an empty line) + var result = (function () { + var nextLF = string.indexOf('\n'); + nextLF = nextLF !== -1 ? nextLF : string.length; + lineRe.lastIndex = nextLF; + return foldLine(string.slice(0, nextLF), width); + }()); + // If we haven't reached the first content line yet, don't add an extra \n. + var prevMoreIndented = string[0] === '\n' || string[0] === ' '; + var moreIndented; + + // rest of the lines + var match; + while ((match = lineRe.exec(string))) { + var prefix = match[1], line = match[2]; + moreIndented = (line[0] === ' '); + result += prefix + + (!prevMoreIndented && !moreIndented && line !== '' + ? '\n' : '') + + foldLine(line, width); + prevMoreIndented = moreIndented; + } + + return result; +} + +// Greedy line breaking. +// Picks the longest line under the limit each time, +// otherwise settles for the shortest line over the limit. +// NB. More-indented lines *cannot* be folded, as that would add an extra \n. +function foldLine(line, width) { + if (line === '' || line[0] === ' ') return line; + + // Since a more-indented line adds a \n, breaks can't be followed by a space. + var breakRe = / [^ ]/g; // note: the match index will always be <= length-2. + var match; + // start is an inclusive index. end, curr, and next are exclusive. + var start = 0, end, curr = 0, next = 0; + var result = ''; + + // Invariants: 0 <= start <= length-1. + // 0 <= curr <= next <= max(0, length-2). curr - start <= width. + // Inside the loop: + // A match implies length >= 2, so curr and next are <= length-2. + while ((match = breakRe.exec(line))) { + next = match.index; + // maintain invariant: curr - start <= width + if (next - start > width) { + end = (curr > start) ? curr : next; // derive end <= length-2 + result += '\n' + line.slice(start, end); + // skip the space that was output as \n + start = end + 1; // derive start <= length-1 + } + curr = next; + } + + // By the invariants, start <= length-1, so there is something left over. + // It is either the whole string or a part starting from non-whitespace. + result += '\n'; + // Insert a break if the remainder is too long and there is a break available. + if (line.length - start > width && curr > start) { + result += line.slice(start, curr) + '\n' + line.slice(curr + 1); + } else { + result += line.slice(start); + } + + return result.slice(1); // drop extra \n joiner +} + +// Escapes a double-quoted string. +function escapeString(string) { + var result = ''; + var char = 0; + var escapeSeq; + + for (var i = 0; i < string.length; char >= 0x10000 ? i += 2 : i++) { + char = codePointAt(string, i); + escapeSeq = ESCAPE_SEQUENCES[char]; + + if (!escapeSeq && isPrintable(char)) { + result += string[i]; + if (char >= 0x10000) result += string[i + 1]; + } else { + result += escapeSeq || encodeHex(char); + } + } + + return result; +} + +function writeFlowSequence(state, level, object) { + var _result = '', + _tag = state.tag, + index, + length, + value; + + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + + // Write only valid elements, put null instead of invalid elements. + if (writeNode(state, level, value, false, false) || + (typeof value === 'undefined' && + writeNode(state, level, null, false, false))) { + + if (_result !== '') _result += ',' + (!state.condenseFlow ? ' ' : ''); + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = '[' + _result + ']'; +} + +function writeBlockSequence(state, level, object, compact) { + var _result = '', + _tag = state.tag, + index, + length, + value; + + for (index = 0, length = object.length; index < length; index += 1) { + value = object[index]; + + if (state.replacer) { + value = state.replacer.call(object, String(index), value); + } + + // Write only valid elements, put null instead of invalid elements. + if (writeNode(state, level + 1, value, true, true, false, true) || + (typeof value === 'undefined' && + writeNode(state, level + 1, null, true, true, false, true))) { + + if (!compact || _result !== '') { + _result += generateNextLine(state, level); + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + _result += '-'; + } else { + _result += '- '; + } + + _result += state.dump; + } + } + + state.tag = _tag; + state.dump = _result || '[]'; // Empty sequence if no valid values. +} + +function writeFlowMapping(state, level, object) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + pairBuffer; + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + + pairBuffer = ''; + if (_result !== '') pairBuffer += ', '; + + if (state.condenseFlow) pairBuffer += '"'; + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + + if (!writeNode(state, level, objectKey, false, false)) { + continue; // Skip this pair because of invalid key; + } + + if (state.dump.length > 1024) pairBuffer += '? '; + + pairBuffer += state.dump + (state.condenseFlow ? '"' : '') + ':' + (state.condenseFlow ? '' : ' '); + + if (!writeNode(state, level, objectValue, false, false)) { + continue; // Skip this pair because of invalid value. + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = '{' + _result + '}'; +} + +function writeBlockMapping(state, level, object, compact) { + var _result = '', + _tag = state.tag, + objectKeyList = Object.keys(object), + index, + length, + objectKey, + objectValue, + explicitPair, + pairBuffer; + + // Allow sorting keys so that the output file is deterministic + if (state.sortKeys === true) { + // Default sorting + objectKeyList.sort(); + } else if (typeof state.sortKeys === 'function') { + // Custom sort function + objectKeyList.sort(state.sortKeys); + } else if (state.sortKeys) { + // Something is wrong + throw new YAMLException('sortKeys must be a boolean or a function'); + } + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + pairBuffer = ''; + + if (!compact || _result !== '') { + pairBuffer += generateNextLine(state, level); + } + + objectKey = objectKeyList[index]; + objectValue = object[objectKey]; + + if (state.replacer) { + objectValue = state.replacer.call(object, objectKey, objectValue); + } + + if (!writeNode(state, level + 1, objectKey, true, true, true)) { + continue; // Skip this pair because of invalid key. + } + + explicitPair = (state.tag !== null && state.tag !== '?') || + (state.dump && state.dump.length > 1024); + + if (explicitPair) { + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += '?'; + } else { + pairBuffer += '? '; + } + } + + pairBuffer += state.dump; + + if (explicitPair) { + pairBuffer += generateNextLine(state, level); + } + + if (!writeNode(state, level + 1, objectValue, true, explicitPair)) { + continue; // Skip this pair because of invalid value. + } + + if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) { + pairBuffer += ':'; + } else { + pairBuffer += ': '; + } + + pairBuffer += state.dump; + + // Both key and value are valid. + _result += pairBuffer; + } + + state.tag = _tag; + state.dump = _result || '{}'; // Empty mapping if no valid pairs. +} + +function detectType(state, object, explicit) { + var _result, typeList, index, length, type, style; + + typeList = explicit ? state.explicitTypes : state.implicitTypes; + + for (index = 0, length = typeList.length; index < length; index += 1) { + type = typeList[index]; + + if ((type.instanceOf || type.predicate) && + (!type.instanceOf || ((typeof object === 'object') && (object instanceof type.instanceOf))) && + (!type.predicate || type.predicate(object))) { + + if (explicit) { + if (type.multi && type.representName) { + state.tag = type.representName(object); + } else { + state.tag = type.tag; + } + } else { + state.tag = '?'; + } + + if (type.represent) { + style = state.styleMap[type.tag] || type.defaultStyle; + + if (_toString.call(type.represent) === '[object Function]') { + _result = type.represent(object, style); + } else if (_hasOwnProperty.call(type.represent, style)) { + _result = type.represent[style](object, style); + } else { + throw new YAMLException('!<' + type.tag + '> tag resolver accepts not "' + style + '" style'); + } + + state.dump = _result; + } + + return true; + } + } + + return false; +} + +// Serializes `object` and writes it to global `result`. +// Returns true on success, or false on invalid object. +// +function writeNode(state, level, object, block, compact, iskey, isblockseq) { + state.tag = null; + state.dump = object; + + if (!detectType(state, object, false)) { + detectType(state, object, true); + } + + var type = _toString.call(state.dump); + var inblock = block; + var tagStr; + + if (block) { + block = (state.flowLevel < 0 || state.flowLevel > level); + } + + var objectOrArray = type === '[object Object]' || type === '[object Array]', + duplicateIndex, + duplicate; + + if (objectOrArray) { + duplicateIndex = state.duplicates.indexOf(object); + duplicate = duplicateIndex !== -1; + } + + if ((state.tag !== null && state.tag !== '?') || duplicate || (state.indent !== 2 && level > 0)) { + compact = false; + } + + if (duplicate && state.usedDuplicates[duplicateIndex]) { + state.dump = '*ref_' + duplicateIndex; + } else { + if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) { + state.usedDuplicates[duplicateIndex] = true; + } + if (type === '[object Object]') { + if (block && (Object.keys(state.dump).length !== 0)) { + writeBlockMapping(state, level, state.dump, compact); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowMapping(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object Array]') { + if (block && (state.dump.length !== 0)) { + if (state.noArrayIndent && !isblockseq && level > 0) { + writeBlockSequence(state, level - 1, state.dump, compact); + } else { + writeBlockSequence(state, level, state.dump, compact); + } + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + state.dump; + } + } else { + writeFlowSequence(state, level, state.dump); + if (duplicate) { + state.dump = '&ref_' + duplicateIndex + ' ' + state.dump; + } + } + } else if (type === '[object String]') { + if (state.tag !== '?') { + writeScalar(state, state.dump, level, iskey, inblock); + } + } else if (type === '[object Undefined]') { + return false; + } else { + if (state.skipInvalid) return false; + throw new YAMLException('unacceptable kind of an object to dump ' + type); + } + + if (state.tag !== null && state.tag !== '?') { + // Need to encode all characters except those allowed by the spec: + // + // [35] ns-dec-digit ::= [#x30-#x39] /* 0-9 */ + // [36] ns-hex-digit ::= ns-dec-digit + // | [#x41-#x46] /* A-F */ | [#x61-#x66] /* a-f */ + // [37] ns-ascii-letter ::= [#x41-#x5A] /* A-Z */ | [#x61-#x7A] /* a-z */ + // [38] ns-word-char ::= ns-dec-digit | ns-ascii-letter | “-†+ // [39] ns-uri-char ::= “%†ns-hex-digit ns-hex-digit | ns-word-char | “#†+ // | “;†| “/†| “?†| “:†| “@†| “&†| “=†| “+†| “$†| “,†+ // | “_†| “.†| “!†| “~†| “*†| “'†| “(†| “)†| “[†| “]†+ // + // Also need to encode '!' because it has special meaning (end of tag prefix). + // + tagStr = encodeURI( + state.tag[0] === '!' ? state.tag.slice(1) : state.tag + ).replace(/!/g, '%21'); + + if (state.tag[0] === '!') { + tagStr = '!' + tagStr; + } else if (tagStr.slice(0, 18) === 'tag:yaml.org,2002:') { + tagStr = '!!' + tagStr.slice(18); + } else { + tagStr = '!<' + tagStr + '>'; + } + + state.dump = tagStr + ' ' + state.dump; + } + } + + return true; +} + +function getDuplicateReferences(object, state) { + var objects = [], + duplicatesIndexes = [], + index, + length; + + inspectNode(object, objects, duplicatesIndexes); + + for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) { + state.duplicates.push(objects[duplicatesIndexes[index]]); + } + state.usedDuplicates = new Array(length); +} + +function inspectNode(object, objects, duplicatesIndexes) { + var objectKeyList, + index, + length; + + if (object !== null && typeof object === 'object') { + index = objects.indexOf(object); + if (index !== -1) { + if (duplicatesIndexes.indexOf(index) === -1) { + duplicatesIndexes.push(index); + } + } else { + objects.push(object); + + if (Array.isArray(object)) { + for (index = 0, length = object.length; index < length; index += 1) { + inspectNode(object[index], objects, duplicatesIndexes); + } + } else { + objectKeyList = Object.keys(object); + + for (index = 0, length = objectKeyList.length; index < length; index += 1) { + inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes); + } + } + } + } +} + +function dump(input, options) { + options = options || {}; + + var state = new State(options); + + if (!state.noRefs) getDuplicateReferences(input, state); + + var value = input; + + if (state.replacer) { + value = state.replacer.call({ '': value }, '', value); + } + + if (writeNode(state, 0, value, true, true)) return state.dump + '\n'; + + return ''; +} + +module.exports.dump = dump; + + +/***/ }), + +/***/ 5031: +/***/ ((module) => { + +"use strict"; +// YAML error class. http://stackoverflow.com/questions/8458984 +// + + + +function formatError(exception, compact) { + var where = '', message = exception.reason || '(unknown reason)'; + + if (!exception.mark) return message; + + if (exception.mark.name) { + where += 'in "' + exception.mark.name + '" '; + } + + where += '(' + (exception.mark.line + 1) + ':' + (exception.mark.column + 1) + ')'; + + if (!compact && exception.mark.snippet) { + where += '\n\n' + exception.mark.snippet; + } + + return message + ' ' + where; +} + + +function YAMLException(reason, mark) { + // Super constructor + Error.call(this); + + this.name = 'YAMLException'; + this.reason = reason; + this.mark = mark; + this.message = formatError(this, false); + + // Include stack trace in error object + if (Error.captureStackTrace) { + // Chrome and NodeJS + Error.captureStackTrace(this, this.constructor); + } else { + // FF, IE 10+ and Safari 6+. Fallback for others + this.stack = (new Error()).stack || ''; + } +} + + +// Inherit from Error +YAMLException.prototype = Object.create(Error.prototype); +YAMLException.prototype.constructor = YAMLException; + + +YAMLException.prototype.toString = function toString(compact) { + return this.name + ': ' + formatError(this, compact); +}; + + +module.exports = YAMLException; + + +/***/ }), + +/***/ 34883: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable max-len,no-use-before-define*/ + +var common = __nccwpck_require__(50377); +var YAMLException = __nccwpck_require__(5031); +var makeSnippet = __nccwpck_require__(94891); +var DEFAULT_SCHEMA = __nccwpck_require__(89001); + + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + + +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; + + +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; + + +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; + + +function _class(obj) { return Object.prototype.toString.call(obj); } + +function is_EOL(c) { + return (c === 0x0A/* LF */) || (c === 0x0D/* CR */); +} + +function is_WHITE_SPACE(c) { + return (c === 0x09/* Tab */) || (c === 0x20/* Space */); +} + +function is_WS_OR_EOL(c) { + return (c === 0x09/* Tab */) || + (c === 0x20/* Space */) || + (c === 0x0A/* LF */) || + (c === 0x0D/* CR */); +} + +function is_FLOW_INDICATOR(c) { + return c === 0x2C/* , */ || + c === 0x5B/* [ */ || + c === 0x5D/* ] */ || + c === 0x7B/* { */ || + c === 0x7D/* } */; +} + +function fromHexCode(c) { + var lc; + + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + /*eslint-disable no-bitwise*/ + lc = c | 0x20; + + if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) { + return lc - 0x61 + 10; + } + + return -1; +} + +function escapedHexLen(c) { + if (c === 0x78/* x */) { return 2; } + if (c === 0x75/* u */) { return 4; } + if (c === 0x55/* U */) { return 8; } + return 0; +} + +function fromDecimalCode(c) { + if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) { + return c - 0x30; + } + + return -1; +} + +function simpleEscapeSequence(c) { + /* eslint-disable indent */ + return (c === 0x30/* 0 */) ? '\x00' : + (c === 0x61/* a */) ? '\x07' : + (c === 0x62/* b */) ? '\x08' : + (c === 0x74/* t */) ? '\x09' : + (c === 0x09/* Tab */) ? '\x09' : + (c === 0x6E/* n */) ? '\x0A' : + (c === 0x76/* v */) ? '\x0B' : + (c === 0x66/* f */) ? '\x0C' : + (c === 0x72/* r */) ? '\x0D' : + (c === 0x65/* e */) ? '\x1B' : + (c === 0x20/* Space */) ? ' ' : + (c === 0x22/* " */) ? '\x22' : + (c === 0x2F/* / */) ? '/' : + (c === 0x5C/* \ */) ? '\x5C' : + (c === 0x4E/* N */) ? '\x85' : + (c === 0x5F/* _ */) ? '\xA0' : + (c === 0x4C/* L */) ? '\u2028' : + (c === 0x50/* P */) ? '\u2029' : ''; +} + +function charFromCodepoint(c) { + if (c <= 0xFFFF) { + return String.fromCharCode(c); + } + // Encode UTF-16 surrogate pair + // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF + return String.fromCharCode( + ((c - 0x010000) >> 10) + 0xD800, + ((c - 0x010000) & 0x03FF) + 0xDC00 + ); +} + +var simpleEscapeCheck = new Array(256); // integer, for fast access +var simpleEscapeMap = new Array(256); +for (var i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} + + +function State(input, options) { + this.input = input; + + this.filename = options['filename'] || null; + this.schema = options['schema'] || DEFAULT_SCHEMA; + this.onWarning = options['onWarning'] || null; + // (Hidden) Remove? makes the loader to expect YAML 1.1 documents + // if such documents have no explicit %YAML directive + this.legacy = options['legacy'] || false; + + this.json = options['json'] || false; + this.listener = options['listener'] || null; + + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + + // position of first leading tab in the current line, + // used to make sure there are no tabs in the indentation + this.firstTabInLine = -1; + + this.documents = []; + + /* + this.version; + this.checkLineBreaks; + this.tagMap; + this.anchorMap; + this.tag; + this.anchor; + this.kind; + this.result;*/ + +} + + +function generateError(state, message) { + var mark = { + name: state.filename, + buffer: state.input.slice(0, -1), // omit trailing \0 + position: state.position, + line: state.line, + column: state.position - state.lineStart + }; + + mark.snippet = makeSnippet(mark); + + return new YAMLException(message, mark); +} + +function throwError(state, message) { + throw generateError(state, message); +} + +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} + + +var directiveHandlers = { + + YAML: function handleYamlDirective(state, name, args) { + + var match, major, minor; + + if (state.version !== null) { + throwError(state, 'duplication of %YAML directive'); + } + + if (args.length !== 1) { + throwError(state, 'YAML directive accepts exactly one argument'); + } + + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + + if (match === null) { + throwError(state, 'ill-formed argument of the YAML directive'); + } + + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + + if (major !== 1) { + throwError(state, 'unacceptable YAML version of the document'); + } + + state.version = args[0]; + state.checkLineBreaks = (minor < 2); + + if (minor !== 1 && minor !== 2) { + throwWarning(state, 'unsupported YAML version of the document'); + } + }, + + TAG: function handleTagDirective(state, name, args) { + + var handle, prefix; + + if (args.length !== 2) { + throwError(state, 'TAG directive accepts exactly two arguments'); + } + + handle = args[0]; + prefix = args[1]; + + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, 'ill-formed tag handle (first argument) of the TAG directive'); + } + + if (_hasOwnProperty.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive'); + } + + try { + prefix = decodeURIComponent(prefix); + } catch (err) { + throwError(state, 'tag prefix is malformed: ' + prefix); + } + + state.tagMap[handle] = prefix; + } +}; + + +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + + if (start < end) { + _result = state.input.slice(start, end); + + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 0x09 || + (0x20 <= _character && _character <= 0x10FFFF))) { + throwError(state, 'expected valid JSON character'); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, 'the stream contains non-printable characters'); + } + + state.result += _result; + } +} + +function mergeMappings(state, destination, source, overridableKeys) { + var sourceKeys, key, index, quantity; + + if (!common.isObject(source)) { + throwError(state, 'cannot merge mappings; the provided source object is unacceptable'); + } + + sourceKeys = Object.keys(source); + + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key = sourceKeys[index]; + + if (!_hasOwnProperty.call(destination, key)) { + destination[key] = source[key]; + overridableKeys[key] = true; + } + } +} + +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, + startLine, startLineStart, startPos) { + + var index, quantity; + + // The output is a plain object here, so keys can only be strings. + // We need to convert keyNode to a string, but doing so can hang the process + // (deeply nested arrays that explode exponentially using aliases). + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, 'nested arrays are not supported inside keys'); + } + + if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') { + keyNode[index] = '[object Object]'; + } + } + } + + // Avoid code execution in load() via toString property + // (still use its own toString for arrays, timestamps, + // and whatever user schema extensions happen to have @@toStringTag) + if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') { + keyNode = '[object Object]'; + } + + + keyNode = String(keyNode); + + if (_result === null) { + _result = {}; + } + + if (keyTag === 'tag:yaml.org,2002:merge') { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && + !_hasOwnProperty.call(overridableKeys, keyNode) && + _hasOwnProperty.call(_result, keyNode)) { + state.line = startLine || state.line; + state.lineStart = startLineStart || state.lineStart; + state.position = startPos || state.position; + throwError(state, 'duplicated mapping key'); + } + + // used for this specific key only because Object.defineProperty is slow + if (keyNode === '__proto__') { + Object.defineProperty(_result, keyNode, { + configurable: true, + enumerable: true, + writable: true, + value: valueNode + }); + } else { + _result[keyNode] = valueNode; + } + delete overridableKeys[keyNode]; + } + + return _result; +} + +function readLineBreak(state) { + var ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x0A/* LF */) { + state.position++; + } else if (ch === 0x0D/* CR */) { + state.position++; + if (state.input.charCodeAt(state.position) === 0x0A/* LF */) { + state.position++; + } + } else { + throwError(state, 'a line break is expected'); + } + + state.line += 1; + state.lineStart = state.position; + state.firstTabInLine = -1; +} + +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + if (ch === 0x09/* Tab */ && state.firstTabInLine === -1) { + state.firstTabInLine = state.position; + } + ch = state.input.charCodeAt(++state.position); + } + + if (allowComments && ch === 0x23/* # */) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0); + } + + if (is_EOL(ch)) { + readLineBreak(state); + + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + + while (ch === 0x20/* Space */) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, 'deficient indentation'); + } + + return lineBreaks; +} + +function testDocumentSeparator(state) { + var _position = state.position, + ch; + + ch = state.input.charCodeAt(_position); + + // Condition state.position === state.lineStart is tested + // in parent on each call, for efficiency. No needs to test here again. + if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) && + ch === state.input.charCodeAt(_position + 1) && + ch === state.input.charCodeAt(_position + 2)) { + + _position += 3; + + ch = state.input.charCodeAt(_position); + + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + + return false; +} + +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += ' '; + } else if (count > 1) { + state.result += common.repeat('\n', count - 1); + } +} + + +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, + following, + captureStart, + captureEnd, + hasPendingContent, + _line, + _lineStart, + _lineIndent, + _kind = state.kind, + _result = state.result, + ch; + + ch = state.input.charCodeAt(state.position); + + if (is_WS_OR_EOL(ch) || + is_FLOW_INDICATOR(ch) || + ch === 0x23/* # */ || + ch === 0x26/* & */ || + ch === 0x2A/* * */ || + ch === 0x21/* ! */ || + ch === 0x7C/* | */ || + ch === 0x3E/* > */ || + ch === 0x27/* ' */ || + ch === 0x22/* " */ || + ch === 0x25/* % */ || + ch === 0x40/* @ */ || + ch === 0x60/* ` */) { + return false; + } + + if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + + state.kind = 'scalar'; + state.result = ''; + captureStart = captureEnd = state.position; + hasPendingContent = false; + + while (ch !== 0) { + if (ch === 0x3A/* : */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following) || + withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + + } else if (ch === 0x23/* # */) { + preceding = state.input.charCodeAt(state.position - 1); + + if (is_WS_OR_EOL(preceding)) { + break; + } + + } else if ((state.position === state.lineStart && testDocumentSeparator(state)) || + withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, captureEnd, false); + + if (state.result) { + return true; + } + + state.kind = _kind; + state.result = _result; + return false; +} + +function readSingleQuotedScalar(state, nodeIndent) { + var ch, + captureStart, captureEnd; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x27/* ' */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x27/* ' */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x27/* ' */) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a single quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a single quoted scalar'); +} + +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, + captureEnd, + hexLength, + hexResult, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x22/* " */) { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + state.position++; + captureStart = captureEnd = state.position; + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 0x22/* " */) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + + } else if (ch === 0x5C/* \ */) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + + // TODO: rework to inline fn with no type cast? + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + + } else { + throwError(state, 'expected hexadecimal character'); + } + } + + state.result += charFromCodepoint(hexResult); + + state.position++; + + } else { + throwError(state, 'unknown escape sequence'); + } + + captureStart = captureEnd = state.position; + + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, 'unexpected end of the document within a double quoted scalar'); + + } else { + state.position++; + captureEnd = state.position; + } + } + + throwError(state, 'unexpected end of the stream within a double quoted scalar'); +} + +function readFlowCollection(state, nodeIndent) { + var readNext = true, + _line, + _lineStart, + _pos, + _tag = state.tag, + _result, + _anchor = state.anchor, + following, + terminator, + isPair, + isExplicitPair, + isMapping, + overridableKeys = Object.create(null), + keyNode, + keyTag, + valueNode, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x5B/* [ */) { + terminator = 0x5D;/* ] */ + isMapping = false; + _result = []; + } else if (ch === 0x7B/* { */) { + terminator = 0x7D;/* } */ + isMapping = true; + _result = {}; + } else { + return false; + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(++state.position); + + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? 'mapping' : 'sequence'; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, 'missed comma between flow collection entries'); + } else if (ch === 0x2C/* , */) { + // "flow collection entries can never be completely empty", as per YAML 1.2, section 7.4 + throwError(state, "expected the node content, but found ','"); + } + + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + + if (ch === 0x3F/* ? */) { + following = state.input.charCodeAt(state.position + 1); + + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + + _line = state.line; // Save the current line. + _lineStart = state.lineStart; + _pos = state.position; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos)); + } else { + _result.push(keyNode); + } + + skipSeparationSpace(state, true, nodeIndent); + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x2C/* , */) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + + throwError(state, 'unexpected end of the stream within a flow collection'); +} + +function readBlockScalar(state, nodeIndent) { + var captureStart, + folding, + chomping = CHOMPING_CLIP, + didReadContent = false, + detectedIndent = false, + textIndent = nodeIndent, + emptyLines = 0, + atMoreIndented = false, + tmp, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch === 0x7C/* | */) { + folding = false; + } else if (ch === 0x3E/* > */) { + folding = true; + } else { + return false; + } + + state.kind = 'scalar'; + state.result = ''; + + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x2B/* + */ || ch === 0x2D/* - */) { + if (CHOMPING_CLIP === chomping) { + chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, 'repeat of a chomping mode identifier'); + } + + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one'); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, 'repeat of an indentation width identifier'); + } + + } else { + break; + } + } + + if (is_WHITE_SPACE(ch)) { + do { ch = state.input.charCodeAt(++state.position); } + while (is_WHITE_SPACE(ch)); + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (!is_EOL(ch) && (ch !== 0)); + } + } + + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + + ch = state.input.charCodeAt(state.position); + + while ((!detectedIndent || state.lineIndent < textIndent) && + (ch === 0x20/* Space */)) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + + if (is_EOL(ch)) { + emptyLines++; + continue; + } + + // End of the scalar. + if (state.lineIndent < textIndent) { + + // Perform the chomping. + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { // i.e. only if the scalar is not empty. + state.result += '\n'; + } + } + + // Break this `while` cycle and go to the funciton's epilogue. + break; + } + + // Folded style: use fancy rules to handle line breaks. + if (folding) { + + // Lines starting with white space characters (more-indented lines) are not folded. + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + // except for the first content line (cf. Example 8.1) + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + + // End of more-indented block. + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat('\n', emptyLines + 1); + + // Just one line break - perceive as the same line. + } else if (emptyLines === 0) { + if (didReadContent) { // i.e. only if we have already read some scalar content. + state.result += ' '; + } + + // Several line breaks - perceive as different lines. + } else { + state.result += common.repeat('\n', emptyLines); + } + + // Literal style: just add exact number of line breaks between content lines. + } else { + // Keep all line breaks except the header line break. + state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines); + } + + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + + while (!is_EOL(ch) && (ch !== 0)) { + ch = state.input.charCodeAt(++state.position); + } + + captureSegment(state, captureStart, state.position, false); + } + + return true; +} + +function readBlockSequence(state, nodeIndent) { + var _line, + _tag = state.tag, + _anchor = state.anchor, + _result = [], + following, + detected = false, + ch; + + // there is a leading tab before this token, so it can't be a block sequence/mapping; + // it can still be flow sequence/mapping or a scalar + if (state.firstTabInLine !== -1) return false; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + if (state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + + if (ch !== 0x2D/* - */) { + break; + } + + following = state.input.charCodeAt(state.position + 1); + + if (!is_WS_OR_EOL(following)) { + break; + } + + detected = true; + state.position++; + + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a sequence entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'sequence'; + state.result = _result; + return true; + } + return false; +} + +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, + allowCompact, + _line, + _keyLine, + _keyLineStart, + _keyPos, + _tag = state.tag, + _anchor = state.anchor, + _result = {}, + overridableKeys = Object.create(null), + keyTag = null, + keyNode = null, + valueNode = null, + atExplicitKey = false, + detected = false, + ch; + + // there is a leading tab before this token, so it can't be a block sequence/mapping; + // it can still be flow sequence/mapping or a scalar + if (state.firstTabInLine !== -1) return false; + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + + ch = state.input.charCodeAt(state.position); + + while (ch !== 0) { + if (!atExplicitKey && state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, 'tab characters must not be used in indentation'); + } + + following = state.input.charCodeAt(state.position + 1); + _line = state.line; // Save the current line. + + // + // Explicit notation case. There are two separate blocks: + // first for the key (denoted by "?") and second for the value (denoted by ":") + // + if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) { + + if (ch === 0x3F/* ? */) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = true; + allowCompact = true; + + } else if (atExplicitKey) { + // i.e. 0x3A/* : */ === character after the explicit key. + atExplicitKey = false; + allowCompact = true; + + } else { + throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line'); + } + + state.position += 1; + ch = following; + + // + // Implicit notation case. Flow-style node as the key first, then ":", and the value. + // + } else { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + + if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + // Neither implicit nor explicit notation. + // Reading is done. Go to the epilogue. + break; + } + + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x3A/* : */) { + ch = state.input.charCodeAt(++state.position); + + if (!is_WS_OR_EOL(ch)) { + throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping'); + } + + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + + } else if (detected) { + throwError(state, 'can not read an implicit mapping pair; a colon is missed'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + + } else if (detected) { + throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key'); + + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; // Keep the result of `composeNode`. + } + } + + // + // Common reading code for both explicit and implicit notations. + // + if (state.line === _line || state.lineIndent > nodeIndent) { + if (atExplicitKey) { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + } + + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + + if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) { + throwError(state, 'bad indentation of a mapping entry'); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + + // + // Epilogue. + // + + // Special case: last mapping's node contains only the key in explicit notation. + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + } + + // Expose the resulting mapping. + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = 'mapping'; + state.result = _result; + } + + return detected; +} + +function readTagProperty(state) { + var _position, + isVerbatim = false, + isNamed = false, + tagHandle, + tagName, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x21/* ! */) return false; + + if (state.tag !== null) { + throwError(state, 'duplication of a tag property'); + } + + ch = state.input.charCodeAt(++state.position); + + if (ch === 0x3C/* < */) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + + } else if (ch === 0x21/* ! */) { + isNamed = true; + tagHandle = '!!'; + ch = state.input.charCodeAt(++state.position); + + } else { + tagHandle = '!'; + } + + _position = state.position; + + if (isVerbatim) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && ch !== 0x3E/* > */); + + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, 'unexpected end of the stream within a verbatim tag'); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + + if (ch === 0x21/* ! */) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, 'named tag handle cannot contain such characters'); + } + + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, 'tag suffix cannot contain exclamation marks'); + } + } + + ch = state.input.charCodeAt(++state.position); + } + + tagName = state.input.slice(_position, state.position); + + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, 'tag suffix cannot contain flow indicator characters'); + } + } + + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, 'tag name cannot contain such characters: ' + tagName); + } + + try { + tagName = decodeURIComponent(tagName); + } catch (err) { + throwError(state, 'tag name is malformed: ' + tagName); + } + + if (isVerbatim) { + state.tag = tagName; + + } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + + } else if (tagHandle === '!') { + state.tag = '!' + tagName; + + } else if (tagHandle === '!!') { + state.tag = 'tag:yaml.org,2002:' + tagName; + + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + + return true; +} + +function readAnchorProperty(state) { + var _position, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x26/* & */) return false; + + if (state.anchor !== null) { + throwError(state, 'duplication of an anchor property'); + } + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an anchor node must contain at least one character'); + } + + state.anchor = state.input.slice(_position, state.position); + return true; +} + +function readAlias(state) { + var _position, alias, + ch; + + ch = state.input.charCodeAt(state.position); + + if (ch !== 0x2A/* * */) return false; + + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (state.position === _position) { + throwError(state, 'name of an alias node must contain at least one character'); + } + + alias = state.input.slice(_position, state.position); + + if (!_hasOwnProperty.call(state.anchorMap, alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} + +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, + allowBlockScalars, + allowBlockCollections, + indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + + blockIndent = state.position - state.lineStart; + + if (indentStatus === 1) { + if (allowBlockCollections && + (readBlockSequence(state, blockIndent) || + readBlockMapping(state, blockIndent, flowIndent)) || + readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if ((allowBlockScalars && readBlockScalar(state, flowIndent)) || + readSingleQuotedScalar(state, flowIndent) || + readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + + } else if (readAlias(state)) { + hasContent = true; + + if (state.tag !== null || state.anchor !== null) { + throwError(state, 'alias node should not have any properties'); + } + + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + + if (state.tag === null) { + state.tag = '?'; + } + } + + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + // Special case: block sequences are allowed to have same indentation level as the parent. + // http://www.yaml.org/spec/1.2/spec.html#id2799784 + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + + if (state.tag === null) { + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + + } else if (state.tag === '?') { + // Implicit resolving is not allowed for non-scalar types, and '?' + // non-specific tag is only automatically assigned to plain scalars. + // + // We only need to check kind conformity in case user explicitly assigns '?' + // tag, for example like this: "! [0]" + // + if (state.result !== null && state.kind !== 'scalar') { + throwError(state, 'unacceptable node kind for ! tag; it should be "scalar", not "' + state.kind + '"'); + } + + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type = state.implicitTypes[typeIndex]; + + if (type.resolve(state.result)) { // `state.result` updated in resolver if matched + state.result = type.construct(state.result); + state.tag = type.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (state.tag !== '!') { + if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) { + type = state.typeMap[state.kind || 'fallback'][state.tag]; + } else { + // looking for multi type + type = null; + typeList = state.typeMap.multi[state.kind || 'fallback']; + + for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) { + if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) { + type = typeList[typeIndex]; + break; + } + } + } + + if (!type) { + throwError(state, 'unknown tag !<' + state.tag + '>'); + } + + if (state.result !== null && type.kind !== state.kind) { + throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"'); + } + + if (!type.resolve(state.result, state.tag)) { // `state.result` updated in resolver if matched + throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag'); + } else { + state.result = type.construct(state.result, state.tag); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } + + if (state.listener !== null) { + state.listener('close', state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} + +function readDocument(state) { + var documentStart = state.position, + _position, + directiveName, + directiveArgs, + hasDirectives = false, + ch; + + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = Object.create(null); + state.anchorMap = Object.create(null); + + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + + ch = state.input.charCodeAt(state.position); + + if (state.lineIndent > 0 || ch !== 0x25/* % */) { + break; + } + + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + + if (directiveName.length < 1) { + throwError(state, 'directive name must not be less than one character in length'); + } + + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + if (ch === 0x23/* # */) { + do { ch = state.input.charCodeAt(++state.position); } + while (ch !== 0 && !is_EOL(ch)); + break; + } + + if (is_EOL(ch)) break; + + _position = state.position; + + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + + directiveArgs.push(state.input.slice(_position, state.position)); + } + + if (ch !== 0) readLineBreak(state); + + if (_hasOwnProperty.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + + skipSeparationSpace(state, true, -1); + + if (state.lineIndent === 0 && + state.input.charCodeAt(state.position) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 1) === 0x2D/* - */ && + state.input.charCodeAt(state.position + 2) === 0x2D/* - */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + + } else if (hasDirectives) { + throwError(state, 'directives end mark is expected'); + } + + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + + if (state.checkLineBreaks && + PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, 'non-ASCII line breaks are interpreted as content'); + } + + state.documents.push(state.result); + + if (state.position === state.lineStart && testDocumentSeparator(state)) { + + if (state.input.charCodeAt(state.position) === 0x2E/* . */) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + + if (state.position < (state.length - 1)) { + throwError(state, 'end of the stream or a document separator is expected'); + } else { + return; + } +} + + +function loadDocuments(input, options) { + input = String(input); + options = options || {}; + + if (input.length !== 0) { + + // Add tailing `\n` if not exists + if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ && + input.charCodeAt(input.length - 1) !== 0x0D/* CR */) { + input += '\n'; + } + + // Strip BOM + if (input.charCodeAt(0) === 0xFEFF) { + input = input.slice(1); + } + } + + var state = new State(input, options); + + var nullpos = input.indexOf('\0'); + + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, 'null byte is not allowed in input'); + } + + // Use 0 as string terminator. That significantly simplifies bounds check. + state.input += '\0'; + + while (state.input.charCodeAt(state.position) === 0x20/* Space */) { + state.lineIndent += 1; + state.position += 1; + } + + while (state.position < (state.length - 1)) { + readDocument(state); + } + + return state.documents; +} + + +function loadAll(input, iterator, options) { + if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') { + options = iterator; + iterator = null; + } + + var documents = loadDocuments(input, options); + + if (typeof iterator !== 'function') { + return documents; + } + + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} + + +function load(input, options) { + var documents = loadDocuments(input, options); + + if (documents.length === 0) { + /*eslint-disable no-undefined*/ + return undefined; + } else if (documents.length === 1) { + return documents[0]; + } + throw new YAMLException('expected a single document in the stream, but found more'); +} + + +module.exports.loadAll = loadAll; +module.exports.load = load; + + +/***/ }), + +/***/ 45199: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable max-len*/ + +var YAMLException = __nccwpck_require__(5031); +var Type = __nccwpck_require__(62420); + + +function compileList(schema, name) { + var result = []; + + schema[name].forEach(function (currentType) { + var newIndex = result.length; + + result.forEach(function (previousType, previousIndex) { + if (previousType.tag === currentType.tag && + previousType.kind === currentType.kind && + previousType.multi === currentType.multi) { + + newIndex = previousIndex; + } + }); + + result[newIndex] = currentType; + }); + + return result; +} + + +function compileMap(/* lists... */) { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + multi: { + scalar: [], + sequence: [], + mapping: [], + fallback: [] + } + }, index, length; + + function collectType(type) { + if (type.multi) { + result.multi[type.kind].push(type); + result.multi['fallback'].push(type); + } else { + result[type.kind][type.tag] = result['fallback'][type.tag] = type; + } + } + + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} + + +function Schema(definition) { + return this.extend(definition); +} + + +Schema.prototype.extend = function extend(definition) { + var implicit = []; + var explicit = []; + + if (definition instanceof Type) { + // Schema.extend(type) + explicit.push(definition); + + } else if (Array.isArray(definition)) { + // Schema.extend([ type1, type2, ... ]) + explicit = explicit.concat(definition); + + } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) { + // Schema.extend({ explicit: [ type1, type2, ... ], implicit: [ type1, type2, ... ] }) + if (definition.implicit) implicit = implicit.concat(definition.implicit); + if (definition.explicit) explicit = explicit.concat(definition.explicit); + + } else { + throw new YAMLException('Schema.extend argument should be a Type, [ Type ], ' + + 'or a schema definition ({ implicit: [...], explicit: [...] })'); + } + + implicit.forEach(function (type) { + if (!(type instanceof Type)) { + throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + + if (type.loadKind && type.loadKind !== 'scalar') { + throw new YAMLException('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.'); + } + + if (type.multi) { + throw new YAMLException('There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.'); + } + }); + + explicit.forEach(function (type) { + if (!(type instanceof Type)) { + throw new YAMLException('Specified list of YAML types (or a single Type object) contains a non-Type object.'); + } + }); + + var result = Object.create(Schema.prototype); + + result.implicit = (this.implicit || []).concat(implicit); + result.explicit = (this.explicit || []).concat(explicit); + + result.compiledImplicit = compileList(result, 'implicit'); + result.compiledExplicit = compileList(result, 'explicit'); + result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit); + + return result; +}; + + +module.exports = Schema; + + +/***/ }), + +/***/ 55169: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// Standard YAML's Core schema. +// http://www.yaml.org/spec/1.2/spec.html#id2804923 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, Core schema has no distinctions from JSON schema is JS-YAML. + + + + + +module.exports = __nccwpck_require__(78272); + + +/***/ }), + +/***/ 89001: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// JS-YAML's default schema for `safeLoad` function. +// It is not described in the YAML specification. +// +// This schema is based on standard YAML's Core schema and includes most of +// extra types described at YAML tag repository. (http://yaml.org/type/) + + + + + +module.exports = (__nccwpck_require__(55169).extend)({ + implicit: [ + __nccwpck_require__(21895), + __nccwpck_require__(58035) + ], + explicit: [ + __nccwpck_require__(24582), + __nccwpck_require__(66154), + __nccwpck_require__(8566), + __nccwpck_require__(88175) + ] +}); + + +/***/ }), + +/***/ 17159: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// Standard YAML's Failsafe schema. +// http://www.yaml.org/spec/1.2/spec.html#id2802346 + + + + + +var Schema = __nccwpck_require__(45199); + + +module.exports = new Schema({ + explicit: [ + __nccwpck_require__(9156), + __nccwpck_require__(35396), + __nccwpck_require__(55561) + ] +}); + + +/***/ }), + +/***/ 78272: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; +// Standard YAML's JSON schema. +// http://www.yaml.org/spec/1.2/spec.html#id2803231 +// +// NOTE: JS-YAML does not support schema-specific tag resolution restrictions. +// So, this schema is not such strict as defined in the YAML specification. +// It allows numbers in binary notaion, use `Null` and `NULL` as `null`, etc. + + + + + +module.exports = (__nccwpck_require__(17159).extend)({ + implicit: [ + __nccwpck_require__(66086), + __nccwpck_require__(85919), + __nccwpck_require__(38618), + __nccwpck_require__(52029) + ] +}); + + +/***/ }), + +/***/ 94891: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + + +var common = __nccwpck_require__(50377); + + +// get snippet for a single line, respecting maxLength +function getLine(buffer, lineStart, lineEnd, position, maxLineLength) { + var head = ''; + var tail = ''; + var maxHalfLength = Math.floor(maxLineLength / 2) - 1; + + if (position - lineStart > maxHalfLength) { + head = ' ... '; + lineStart = position - maxHalfLength + head.length; + } + + if (lineEnd - position > maxHalfLength) { + tail = ' ...'; + lineEnd = position + maxHalfLength - tail.length; + } + + return { + str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, '→') + tail, + pos: position - lineStart + head.length // relative position + }; +} + + +function padStart(string, max) { + return common.repeat(' ', max - string.length) + string; +} + + +function makeSnippet(mark, options) { + options = Object.create(options || null); + + if (!mark.buffer) return null; + + if (!options.maxLength) options.maxLength = 79; + if (typeof options.indent !== 'number') options.indent = 1; + if (typeof options.linesBefore !== 'number') options.linesBefore = 3; + if (typeof options.linesAfter !== 'number') options.linesAfter = 2; + + var re = /\r?\n|\r|\0/g; + var lineStarts = [ 0 ]; + var lineEnds = []; + var match; + var foundLineNo = -1; + + while ((match = re.exec(mark.buffer))) { + lineEnds.push(match.index); + lineStarts.push(match.index + match[0].length); + + if (mark.position <= match.index && foundLineNo < 0) { + foundLineNo = lineStarts.length - 2; + } + } + + if (foundLineNo < 0) foundLineNo = lineStarts.length - 1; + + var result = '', i, line; + var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length; + var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3); + + for (i = 1; i <= options.linesBefore; i++) { + if (foundLineNo - i < 0) break; + line = getLine( + mark.buffer, + lineStarts[foundLineNo - i], + lineEnds[foundLineNo - i], + mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), + maxLineLength + ); + result = common.repeat(' ', options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + + ' | ' + line.str + '\n' + result; + } + + line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength); + result += common.repeat(' ', options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + + ' | ' + line.str + '\n'; + result += common.repeat('-', options.indent + lineNoLength + 3 + line.pos) + '^' + '\n'; + + for (i = 1; i <= options.linesAfter; i++) { + if (foundLineNo + i >= lineEnds.length) break; + line = getLine( + mark.buffer, + lineStarts[foundLineNo + i], + lineEnds[foundLineNo + i], + mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), + maxLineLength + ); + result += common.repeat(' ', options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + + ' | ' + line.str + '\n'; + } + + return result.replace(/\n$/, ''); +} + + +module.exports = makeSnippet; + + +/***/ }), + +/***/ 62420: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var YAMLException = __nccwpck_require__(5031); + +var TYPE_CONSTRUCTOR_OPTIONS = [ + 'kind', + 'multi', + 'resolve', + 'construct', + 'instanceOf', + 'predicate', + 'represent', + 'representName', + 'defaultStyle', + 'styleAliases' +]; + +var YAML_NODE_KINDS = [ + 'scalar', + 'sequence', + 'mapping' +]; + +function compileStyleAliases(map) { + var result = {}; + + if (map !== null) { + Object.keys(map).forEach(function (style) { + map[style].forEach(function (alias) { + result[String(alias)] = style; + }); + }); + } + + return result; +} + +function Type(tag, options) { + options = options || {}; + + Object.keys(options).forEach(function (name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + + // TODO: Add tag format check. + this.options = options; // keep original options in case user wants to extend this type later + this.tag = tag; + this.kind = options['kind'] || null; + this.resolve = options['resolve'] || function () { return true; }; + this.construct = options['construct'] || function (data) { return data; }; + this.instanceOf = options['instanceOf'] || null; + this.predicate = options['predicate'] || null; + this.represent = options['represent'] || null; + this.representName = options['representName'] || null; + this.defaultStyle = options['defaultStyle'] || null; + this.multi = options['multi'] || false; + this.styleAliases = compileStyleAliases(options['styleAliases'] || null); + + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} + +module.exports = Type; + + +/***/ }), + +/***/ 24582: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +/*eslint-disable no-bitwise*/ + + +var Type = __nccwpck_require__(62420); + + +// [ 64, 65, 66 ] -> [ padding, CR, LF ] +var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r'; + + +function resolveYamlBinary(data) { + if (data === null) return false; + + var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP; + + // Convert one by one. + for (idx = 0; idx < max; idx++) { + code = map.indexOf(data.charAt(idx)); + + // Skip CR/LF + if (code > 64) continue; + + // Fail on illegal characters + if (code < 0) return false; + + bitlen += 6; + } + + // If there are any bits left, source was corrupted + return (bitlen % 8) === 0; +} + +function constructYamlBinary(data) { + var idx, tailbits, + input = data.replace(/[\r\n=]/g, ''), // remove CR/LF & padding to simplify scan + max = input.length, + map = BASE64_MAP, + bits = 0, + result = []; + + // Collect by 6*4 bits (3 bytes) + + for (idx = 0; idx < max; idx++) { + if ((idx % 4 === 0) && idx) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } + + bits = (bits << 6) | map.indexOf(input.charAt(idx)); + } + + // Dump tail + + tailbits = (max % 4) * 6; + + if (tailbits === 0) { + result.push((bits >> 16) & 0xFF); + result.push((bits >> 8) & 0xFF); + result.push(bits & 0xFF); + } else if (tailbits === 18) { + result.push((bits >> 10) & 0xFF); + result.push((bits >> 2) & 0xFF); + } else if (tailbits === 12) { + result.push((bits >> 4) & 0xFF); + } + + return new Uint8Array(result); +} + +function representYamlBinary(object /*, style*/) { + var result = '', bits = 0, idx, tail, + max = object.length, + map = BASE64_MAP; + + // Convert every three bytes to 4 ASCII characters. + + for (idx = 0; idx < max; idx++) { + if ((idx % 3 === 0) && idx) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } + + bits = (bits << 8) + object[idx]; + } + + // Dump tail + + tail = max % 3; + + if (tail === 0) { + result += map[(bits >> 18) & 0x3F]; + result += map[(bits >> 12) & 0x3F]; + result += map[(bits >> 6) & 0x3F]; + result += map[bits & 0x3F]; + } else if (tail === 2) { + result += map[(bits >> 10) & 0x3F]; + result += map[(bits >> 4) & 0x3F]; + result += map[(bits << 2) & 0x3F]; + result += map[64]; + } else if (tail === 1) { + result += map[(bits >> 2) & 0x3F]; + result += map[(bits << 4) & 0x3F]; + result += map[64]; + result += map[64]; + } + + return result; +} + +function isBinary(obj) { + return Object.prototype.toString.call(obj) === '[object Uint8Array]'; +} + +module.exports = new Type('tag:yaml.org,2002:binary', { + kind: 'scalar', + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); + + +/***/ }), + +/***/ 85919: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +function resolveYamlBoolean(data) { + if (data === null) return false; + + var max = data.length; + + return (max === 4 && (data === 'true' || data === 'True' || data === 'TRUE')) || + (max === 5 && (data === 'false' || data === 'False' || data === 'FALSE')); +} + +function constructYamlBoolean(data) { + return data === 'true' || + data === 'True' || + data === 'TRUE'; +} + +function isBoolean(object) { + return Object.prototype.toString.call(object) === '[object Boolean]'; +} + +module.exports = new Type('tag:yaml.org,2002:bool', { + kind: 'scalar', + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function (object) { return object ? 'true' : 'false'; }, + uppercase: function (object) { return object ? 'TRUE' : 'FALSE'; }, + camelcase: function (object) { return object ? 'True' : 'False'; } + }, + defaultStyle: 'lowercase' +}); + + +/***/ }), + +/***/ 52029: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var common = __nccwpck_require__(50377); +var Type = __nccwpck_require__(62420); + +var YAML_FLOAT_PATTERN = new RegExp( + // 2.5e4, 2.5 and integers + '^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' + + // .2e4, .2 + // special case, seems not from spec + '|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' + + // .inf + '|[-+]?\\.(?:inf|Inf|INF)' + + // .nan + '|\\.(?:nan|NaN|NAN))$'); + +function resolveYamlFloat(data) { + if (data === null) return false; + + if (!YAML_FLOAT_PATTERN.test(data) || + // Quick hack to not allow integers end with `_` + // Probably should update regexp & check speed + data[data.length - 1] === '_') { + return false; + } + + return true; +} + +function constructYamlFloat(data) { + var value, sign; + + value = data.replace(/_/g, '').toLowerCase(); + sign = value[0] === '-' ? -1 : 1; + + if ('+-'.indexOf(value[0]) >= 0) { + value = value.slice(1); + } + + if (value === '.inf') { + return (sign === 1) ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + + } else if (value === '.nan') { + return NaN; + } + return sign * parseFloat(value, 10); +} + + +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; + +function representYamlFloat(object, style) { + var res; + + if (isNaN(object)) { + switch (style) { + case 'lowercase': return '.nan'; + case 'uppercase': return '.NAN'; + case 'camelcase': return '.NaN'; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '.inf'; + case 'uppercase': return '.INF'; + case 'camelcase': return '.Inf'; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case 'lowercase': return '-.inf'; + case 'uppercase': return '-.INF'; + case 'camelcase': return '-.Inf'; + } + } else if (common.isNegativeZero(object)) { + return '-0.0'; + } + + res = object.toString(10); + + // JS stringifier can build scientific format without dots: 5e-100, + // while YAML requres dot: 5.e-100. Fix it with simple hack + + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res; +} + +function isFloat(object) { + return (Object.prototype.toString.call(object) === '[object Number]') && + (object % 1 !== 0 || common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:float', { + kind: 'scalar', + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: 'lowercase' +}); + + +/***/ }), + +/***/ 38618: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var common = __nccwpck_require__(50377); +var Type = __nccwpck_require__(62420); + +function isHexCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) || + ((0x41/* A */ <= c) && (c <= 0x46/* F */)) || + ((0x61/* a */ <= c) && (c <= 0x66/* f */)); +} + +function isOctCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x37/* 7 */)); +} + +function isDecCode(c) { + return ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)); +} + +function resolveYamlInteger(data) { + if (data === null) return false; + + var max = data.length, + index = 0, + hasDigits = false, + ch; + + if (!max) return false; + + ch = data[index]; + + // sign + if (ch === '-' || ch === '+') { + ch = data[++index]; + } + + if (ch === '0') { + // 0 + if (index + 1 === max) return true; + ch = data[++index]; + + // base 2, base 8, base 16 + + if (ch === 'b') { + // base 2 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (ch !== '0' && ch !== '1') return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'x') { + // base 16 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isHexCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + + + if (ch === 'o') { + // base 8 + index++; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isOctCode(data.charCodeAt(index))) return false; + hasDigits = true; + } + return hasDigits && ch !== '_'; + } + } + + // base 10 (except 0) + + // value should not start with `_`; + if (ch === '_') return false; + + for (; index < max; index++) { + ch = data[index]; + if (ch === '_') continue; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + + // Should have digits and should not end with `_` + if (!hasDigits || ch === '_') return false; + + return true; +} + +function constructYamlInteger(data) { + var value = data, sign = 1, ch; + + if (value.indexOf('_') !== -1) { + value = value.replace(/_/g, ''); + } + + ch = value[0]; + + if (ch === '-' || ch === '+') { + if (ch === '-') sign = -1; + value = value.slice(1); + ch = value[0]; + } + + if (value === '0') return 0; + + if (ch === '0') { + if (value[1] === 'b') return sign * parseInt(value.slice(2), 2); + if (value[1] === 'x') return sign * parseInt(value.slice(2), 16); + if (value[1] === 'o') return sign * parseInt(value.slice(2), 8); + } + + return sign * parseInt(value, 10); +} + +function isInteger(object) { + return (Object.prototype.toString.call(object)) === '[object Number]' && + (object % 1 === 0 && !common.isNegativeZero(object)); +} + +module.exports = new Type('tag:yaml.org,2002:int', { + kind: 'scalar', + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function (obj) { return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1); }, + octal: function (obj) { return obj >= 0 ? '0o' + obj.toString(8) : '-0o' + obj.toString(8).slice(1); }, + decimal: function (obj) { return obj.toString(10); }, + /* eslint-disable max-len */ + hexadecimal: function (obj) { return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1); } + }, + defaultStyle: 'decimal', + styleAliases: { + binary: [ 2, 'bin' ], + octal: [ 8, 'oct' ], + decimal: [ 10, 'dec' ], + hexadecimal: [ 16, 'hex' ] + } +}); + + +/***/ }), + +/***/ 55561: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +module.exports = new Type('tag:yaml.org,2002:map', { + kind: 'mapping', + construct: function (data) { return data !== null ? data : {}; } +}); + + +/***/ }), + +/***/ 58035: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +function resolveYamlMerge(data) { + return data === '<<' || data === null; +} + +module.exports = new Type('tag:yaml.org,2002:merge', { + kind: 'scalar', + resolve: resolveYamlMerge +}); + + +/***/ }), + +/***/ 66086: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +function resolveYamlNull(data) { + if (data === null) return true; + + var max = data.length; + + return (max === 1 && data === '~') || + (max === 4 && (data === 'null' || data === 'Null' || data === 'NULL')); +} + +function constructYamlNull() { + return null; +} + +function isNull(object) { + return object === null; +} + +module.exports = new Type('tag:yaml.org,2002:null', { + kind: 'scalar', + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function () { return '~'; }, + lowercase: function () { return 'null'; }, + uppercase: function () { return 'NULL'; }, + camelcase: function () { return 'Null'; }, + empty: function () { return ''; } + }, + defaultStyle: 'lowercase' +}); + + +/***/ }), + +/***/ 66154: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; +var _toString = Object.prototype.toString; + +function resolveYamlOmap(data) { + if (data === null) return true; + + var objectKeys = [], index, length, pair, pairKey, pairHasKey, + object = data; + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + + if (_toString.call(pair) !== '[object Object]') return false; + + for (pairKey in pair) { + if (_hasOwnProperty.call(pair, pairKey)) { + if (!pairHasKey) pairHasKey = true; + else return false; + } + } + + if (!pairHasKey) return false; + + if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey); + else return false; + } + + return true; +} + +function constructYamlOmap(data) { + return data !== null ? data : []; +} + +module.exports = new Type('tag:yaml.org,2002:omap', { + kind: 'sequence', + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); + + +/***/ }), + +/***/ 8566: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +var _toString = Object.prototype.toString; + +function resolveYamlPairs(data) { + if (data === null) return true; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + if (_toString.call(pair) !== '[object Object]') return false; + + keys = Object.keys(pair); + + if (keys.length !== 1) return false; + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return true; +} + +function constructYamlPairs(data) { + if (data === null) return []; + + var index, length, pair, keys, result, + object = data; + + result = new Array(object.length); + + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + + keys = Object.keys(pair); + + result[index] = [ keys[0], pair[keys[0]] ]; + } + + return result; +} + +module.exports = new Type('tag:yaml.org,2002:pairs', { + kind: 'sequence', + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); + + +/***/ }), + +/***/ 35396: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +module.exports = new Type('tag:yaml.org,2002:seq', { + kind: 'sequence', + construct: function (data) { return data !== null ? data : []; } +}); + + +/***/ }), + +/***/ 88175: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +var _hasOwnProperty = Object.prototype.hasOwnProperty; + +function resolveYamlSet(data) { + if (data === null) return true; + + var key, object = data; + + for (key in object) { + if (_hasOwnProperty.call(object, key)) { + if (object[key] !== null) return false; + } + } + + return true; +} + +function constructYamlSet(data) { + return data !== null ? data : {}; +} + +module.exports = new Type('tag:yaml.org,2002:set', { + kind: 'mapping', + resolve: resolveYamlSet, + construct: constructYamlSet +}); + + +/***/ }), + +/***/ 9156: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +module.exports = new Type('tag:yaml.org,2002:str', { + kind: 'scalar', + construct: function (data) { return data !== null ? data : ''; } +}); + + +/***/ }), + +/***/ 21895: +/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { + +"use strict"; + + +var Type = __nccwpck_require__(62420); + +var YAML_DATE_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9])' + // [2] month + '-([0-9][0-9])$'); // [3] day + +var YAML_TIMESTAMP_REGEXP = new RegExp( + '^([0-9][0-9][0-9][0-9])' + // [1] year + '-([0-9][0-9]?)' + // [2] month + '-([0-9][0-9]?)' + // [3] day + '(?:[Tt]|[ \\t]+)' + // ... + '([0-9][0-9]?)' + // [4] hour + ':([0-9][0-9])' + // [5] minute + ':([0-9][0-9])' + // [6] second + '(?:\\.([0-9]*))?' + // [7] fraction + '(?:[ \\t]*(Z|([-+])([0-9][0-9]?)' + // [8] tz [9] tz_sign [10] tz_hour + '(?::([0-9][0-9]))?))?$'); // [11] tz_minute + +function resolveYamlTimestamp(data) { + if (data === null) return false; + if (YAML_DATE_REGEXP.exec(data) !== null) return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true; + return false; +} + +function constructYamlTimestamp(data) { + var match, year, month, day, hour, minute, second, fraction = 0, + delta = null, tz_hour, tz_minute, date; + + match = YAML_DATE_REGEXP.exec(data); + if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data); + + if (match === null) throw new Error('Date resolve error'); + + // match: [1] year [2] month [3] day + + year = +(match[1]); + month = +(match[2]) - 1; // JS month starts with 0 + day = +(match[3]); + + if (!match[4]) { // no hour + return new Date(Date.UTC(year, month, day)); + } + + // match: [4] hour [5] minute [6] second [7] fraction + + hour = +(match[4]); + minute = +(match[5]); + second = +(match[6]); + + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { // milli-seconds + fraction += '0'; + } + fraction = +fraction; + } + + // match: [8] tz [9] tz_sign [10] tz_hour [11] tz_minute + + if (match[9]) { + tz_hour = +(match[10]); + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 60000; // delta in mili-seconds + if (match[9] === '-') delta = -delta; + } + + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + + if (delta) date.setTime(date.getTime() - delta); + + return date; +} + +function representYamlTimestamp(object /*, style*/) { + return object.toISOString(); +} + +module.exports = new Type('tag:yaml.org,2002:timestamp', { + kind: 'scalar', + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); + + +/***/ }), + +/***/ 91974: +/***/ (function(module, exports) { + +(function(){ + + // Copyright (c) 2005 Tom Wu + // All Rights Reserved. + // See "LICENSE" for details. + + // Basic JavaScript BN library - subset useful for RSA encryption. + + // Bits per digit + var dbits; + + // JavaScript engine analysis + var canary = 0xdeadbeefcafe; + var j_lm = ((canary&0xffffff)==0xefcafe); + + // (public) Constructor + function BigInteger(a,b,c) { + if(a != null) + if("number" == typeof a) this.fromNumber(a,b,c); + else if(b == null && "string" != typeof a) this.fromString(a,256); + else this.fromString(a,b); + } + + // return new, unset BigInteger + function nbi() { return new BigInteger(null); } + + // am: Compute w_j += (x*this_i), propagate carries, + // c is initial carry, returns final carry. + // c < 3*dvalue, x < 2*dvalue, this_i < dvalue + // We need to select the fastest one that works in this environment. + + // am1: use a single mult and divide to get the high bits, + // max digit bits should be 26 because + // max internal value = 2*dvalue^2-2*dvalue (< 2^53) + function am1(i,x,w,j,c,n) { + while(--n >= 0) { + var v = x*this[i++]+w[j]+c; + c = Math.floor(v/0x4000000); + w[j++] = v&0x3ffffff; + } + return c; + } + // am2 avoids a big mult-and-extract completely. + // Max digit bits should be <= 30 because we do bitwise ops + // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) + function am2(i,x,w,j,c,n) { + var xl = x&0x7fff, xh = x>>15; + while(--n >= 0) { + var l = this[i]&0x7fff; + var h = this[i++]>>15; + var m = xh*l+h*xl; + l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff); + c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); + w[j++] = l&0x3fffffff; + } + return c; + } + // Alternately, set max digit bits to 28 since some + // browsers slow down when dealing with 32-bit numbers. + function am3(i,x,w,j,c,n) { + var xl = x&0x3fff, xh = x>>14; + while(--n >= 0) { + var l = this[i]&0x3fff; + var h = this[i++]>>14; + var m = xh*l+h*xl; + l = xl*l+((m&0x3fff)<<14)+w[j]+c; + c = (l>>28)+(m>>14)+xh*h; + w[j++] = l&0xfffffff; + } + return c; + } + var inBrowser = typeof navigator !== "undefined"; + if(inBrowser && j_lm && (navigator.appName == "Microsoft Internet Explorer")) { + BigInteger.prototype.am = am2; + dbits = 30; + } + else if(inBrowser && j_lm && (navigator.appName != "Netscape")) { + BigInteger.prototype.am = am1; + dbits = 26; + } + else { // Mozilla/Netscape seems to prefer am3 + BigInteger.prototype.am = am3; + dbits = 28; + } + + BigInteger.prototype.DB = dbits; + BigInteger.prototype.DM = ((1<= 0; --i) r[i] = this[i]; + r.t = this.t; + r.s = this.s; + } + + // (protected) set from integer value x, -DV <= x < DV + function bnpFromInt(x) { + this.t = 1; + this.s = (x<0)?-1:0; + if(x > 0) this[0] = x; + else if(x < -1) this[0] = x+this.DV; + else this.t = 0; + } + + // return bigint initialized to value + function nbv(i) { var r = nbi(); r.fromInt(i); return r; } + + // (protected) set from string and radix + function bnpFromString(s,b) { + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 256) k = 8; // byte array + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else { this.fromRadix(s,b); return; } + this.t = 0; + this.s = 0; + var i = s.length, mi = false, sh = 0; + while(--i >= 0) { + var x = (k==8)?s[i]&0xff:intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-") mi = true; + continue; + } + mi = false; + if(sh == 0) + this[this.t++] = x; + else if(sh+k > this.DB) { + this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh)); + } + else + this[this.t-1] |= x<= this.DB) sh -= this.DB; + } + if(k == 8 && (s[0]&0x80) != 0) { + this.s = -1; + if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this[this.t-1] == c) --this.t; + } + + // (public) return string representation in given radix + function bnToString(b) { + if(this.s < 0) return "-"+this.negate().toString(b); + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else return this.toRadix(b); + var km = (1< 0) { + if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); } + while(i >= 0) { + if(p < k) { + d = (this[i]&((1<>(p+=this.DB-k); + } + else { + d = (this[i]>>(p-=k))&km; + if(p <= 0) { p += this.DB; --i; } + } + if(d > 0) m = true; + if(m) r += int2char(d); + } + } + return m?r:"0"; + } + + // (public) -this + function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; } + + // (public) |this| + function bnAbs() { return (this.s<0)?this.negate():this; } + + // (public) return + if this > a, - if this < a, 0 if equal + function bnCompareTo(a) { + var r = this.s-a.s; + if(r != 0) return r; + var i = this.t; + r = i-a.t; + if(r != 0) return (this.s<0)?-r:r; + while(--i >= 0) if((r=this[i]-a[i]) != 0) return r; + return 0; + } + + // returns bit length of the integer x + function nbits(x) { + var r = 1, t; + if((t=x>>>16) != 0) { x = t; r += 16; } + if((t=x>>8) != 0) { x = t; r += 8; } + if((t=x>>4) != 0) { x = t; r += 4; } + if((t=x>>2) != 0) { x = t; r += 2; } + if((t=x>>1) != 0) { x = t; r += 1; } + return r; + } + + // (public) return the number of bits in "this" + function bnBitLength() { + if(this.t <= 0) return 0; + return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM)); + } + + // (protected) r = this << n*DB + function bnpDLShiftTo(n,r) { + var i; + for(i = this.t-1; i >= 0; --i) r[i+n] = this[i]; + for(i = n-1; i >= 0; --i) r[i] = 0; + r.t = this.t+n; + r.s = this.s; + } + + // (protected) r = this >> n*DB + function bnpDRShiftTo(n,r) { + for(var i = n; i < this.t; ++i) r[i-n] = this[i]; + r.t = Math.max(this.t-n,0); + r.s = this.s; + } + + // (protected) r = this << n + function bnpLShiftTo(n,r) { + var bs = n%this.DB; + var cbs = this.DB-bs; + var bm = (1<= 0; --i) { + r[i+ds+1] = (this[i]>>cbs)|c; + c = (this[i]&bm)<= 0; --i) r[i] = 0; + r[ds] = c; + r.t = this.t+ds+1; + r.s = this.s; + r.clamp(); + } + + // (protected) r = this >> n + function bnpRShiftTo(n,r) { + r.s = this.s; + var ds = Math.floor(n/this.DB); + if(ds >= this.t) { r.t = 0; return; } + var bs = n%this.DB; + var cbs = this.DB-bs; + var bm = (1<>bs; + for(var i = ds+1; i < this.t; ++i) { + r[i-ds-1] |= (this[i]&bm)<>bs; + } + if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<>= this.DB; + } + if(a.t < this.t) { + c -= a.s; + while(i < this.t) { + c += this[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c -= a[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c -= a.s; + } + r.s = (c<0)?-1:0; + if(c < -1) r[i++] = this.DV+c; + else if(c > 0) r[i++] = c; + r.t = i; + r.clamp(); + } + + // (protected) r = this * a, r != this,a (HAC 14.12) + // "this" should be the larger one if appropriate. + function bnpMultiplyTo(a,r) { + var x = this.abs(), y = a.abs(); + var i = x.t; + r.t = i+y.t; + while(--i >= 0) r[i] = 0; + for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t); + r.s = 0; + r.clamp(); + if(this.s != a.s) BigInteger.ZERO.subTo(r,r); + } + + // (protected) r = this^2, r != this (HAC 14.16) + function bnpSquareTo(r) { + var x = this.abs(); + var i = r.t = 2*x.t; + while(--i >= 0) r[i] = 0; + for(i = 0; i < x.t-1; ++i) { + var c = x.am(i,x[i],r,2*i,0,1); + if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) { + r[i+x.t] -= x.DV; + r[i+x.t+1] = 1; + } + } + if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1); + r.s = 0; + r.clamp(); + } + + // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) + // r != q, this != m. q or r may be null. + function bnpDivRemTo(m,q,r) { + var pm = m.abs(); + if(pm.t <= 0) return; + var pt = this.abs(); + if(pt.t < pm.t) { + if(q != null) q.fromInt(0); + if(r != null) this.copyTo(r); + return; + } + if(r == null) r = nbi(); + var y = nbi(), ts = this.s, ms = m.s; + var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus + if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); } + else { pm.copyTo(y); pt.copyTo(r); } + var ys = y.t; + var y0 = y[ys-1]; + if(y0 == 0) return; + var yt = y0*(1<1)?y[ys-2]>>this.F2:0); + var d1 = this.FV/yt, d2 = (1<= 0) { + r[r.t++] = 1; + r.subTo(t,r); + } + BigInteger.ONE.dlShiftTo(ys,t); + t.subTo(y,y); // "negative" y so we can replace sub with am later + while(y.t < ys) y[y.t++] = 0; + while(--j >= 0) { + // Estimate quotient digit + var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2); + if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out + y.dlShiftTo(j,t); + r.subTo(t,r); + while(r[i] < --qd) r.subTo(t,r); + } + } + if(q != null) { + r.drShiftTo(ys,q); + if(ts != ms) BigInteger.ZERO.subTo(q,q); + } + r.t = ys; + r.clamp(); + if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder + if(ts < 0) BigInteger.ZERO.subTo(r,r); + } + + // (public) this mod a + function bnMod(a) { + var r = nbi(); + this.abs().divRemTo(a,null,r); + if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r); + return r; + } + + // Modular reduction using "classic" algorithm + function Classic(m) { this.m = m; } + function cConvert(x) { + if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); + else return x; + } + function cRevert(x) { return x; } + function cReduce(x) { x.divRemTo(this.m,null,x); } + function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + + Classic.prototype.convert = cConvert; + Classic.prototype.revert = cRevert; + Classic.prototype.reduce = cReduce; + Classic.prototype.mulTo = cMulTo; + Classic.prototype.sqrTo = cSqrTo; + + // (protected) return "-1/this % 2^DB"; useful for Mont. reduction + // justification: + // xy == 1 (mod m) + // xy = 1+km + // xy(2-xy) = (1+km)(1-km) + // x[y(2-xy)] = 1-k^2m^2 + // x[y(2-xy)] == 1 (mod m^2) + // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 + // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. + // JS multiply "overflows" differently from C/C++, so care is needed here. + function bnpInvDigit() { + if(this.t < 1) return 0; + var x = this[0]; + if((x&1) == 0) return 0; + var y = x&3; // y == 1/x mod 2^2 + y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4 + y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8 + y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return (y>0)?this.DV-y:-y; + } + + // Montgomery reduction + function Montgomery(m) { + this.m = m; + this.mp = m.invDigit(); + this.mpl = this.mp&0x7fff; + this.mph = this.mp>>15; + this.um = (1<<(m.DB-15))-1; + this.mt2 = 2*m.t; + } + + // xR mod m + function montConvert(x) { + var r = nbi(); + x.abs().dlShiftTo(this.m.t,r); + r.divRemTo(this.m,null,r); + if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r); + return r; + } + + // x/R mod m + function montRevert(x) { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; + } + + // x = x/R mod m (HAC 14.32) + function montReduce(x) { + while(x.t <= this.mt2) // pad x so am has enough room later + x[x.t++] = 0; + for(var i = 0; i < this.m.t; ++i) { + // faster way of calculating u0 = x[i]*mp mod DV + var j = x[i]&0x7fff; + var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM; + // use am to combine the multiply-shift-add into one call + j = i+this.m.t; + x[j] += this.m.am(0,u0,x,i,0,this.m.t); + // propagate carry + while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; } + } + x.clamp(); + x.drShiftTo(this.m.t,x); + if(x.compareTo(this.m) >= 0) x.subTo(this.m,x); + } + + // r = "x^2/R mod m"; x != r + function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + + // r = "xy/R mod m"; x,y != r + function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + + Montgomery.prototype.convert = montConvert; + Montgomery.prototype.revert = montRevert; + Montgomery.prototype.reduce = montReduce; + Montgomery.prototype.mulTo = montMulTo; + Montgomery.prototype.sqrTo = montSqrTo; + + // (protected) true iff this is even + function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; } + + // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) + function bnpExp(e,z) { + if(e > 0xffffffff || e < 1) return BigInteger.ONE; + var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1; + g.copyTo(r); + while(--i >= 0) { + z.sqrTo(r,r2); + if((e&(1< 0) z.mulTo(r2,g,r); + else { var t = r; r = r2; r2 = t; } + } + return z.revert(r); + } + + // (public) this^e % m, 0 <= e < 2^32 + function bnModPowInt(e,m) { + var z; + if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m); + return this.exp(e,z); + } + + // protected + BigInteger.prototype.copyTo = bnpCopyTo; + BigInteger.prototype.fromInt = bnpFromInt; + BigInteger.prototype.fromString = bnpFromString; + BigInteger.prototype.clamp = bnpClamp; + BigInteger.prototype.dlShiftTo = bnpDLShiftTo; + BigInteger.prototype.drShiftTo = bnpDRShiftTo; + BigInteger.prototype.lShiftTo = bnpLShiftTo; + BigInteger.prototype.rShiftTo = bnpRShiftTo; + BigInteger.prototype.subTo = bnpSubTo; + BigInteger.prototype.multiplyTo = bnpMultiplyTo; + BigInteger.prototype.squareTo = bnpSquareTo; + BigInteger.prototype.divRemTo = bnpDivRemTo; + BigInteger.prototype.invDigit = bnpInvDigit; + BigInteger.prototype.isEven = bnpIsEven; + BigInteger.prototype.exp = bnpExp; + + // public + BigInteger.prototype.toString = bnToString; + BigInteger.prototype.negate = bnNegate; + BigInteger.prototype.abs = bnAbs; + BigInteger.prototype.compareTo = bnCompareTo; + BigInteger.prototype.bitLength = bnBitLength; + BigInteger.prototype.mod = bnMod; + BigInteger.prototype.modPowInt = bnModPowInt; + + // "constants" + BigInteger.ZERO = nbv(0); + BigInteger.ONE = nbv(1); + + // Copyright (c) 2005-2009 Tom Wu + // All Rights Reserved. + // See "LICENSE" for details. + + // Extended JavaScript BN functions, required for RSA private ops. + + // Version 1.1: new BigInteger("0", 10) returns "proper" zero + // Version 1.2: square() API, isProbablePrime fix + + // (public) + function bnClone() { var r = nbi(); this.copyTo(r); return r; } + + // (public) return value as integer + function bnIntValue() { + if(this.s < 0) { + if(this.t == 1) return this[0]-this.DV; + else if(this.t == 0) return -1; + } + else if(this.t == 1) return this[0]; + else if(this.t == 0) return 0; + // assumes 16 < DB < 32 + return ((this[1]&((1<<(32-this.DB))-1))<>24; } + + // (public) return value as short (assumes DB>=16) + function bnShortValue() { return (this.t==0)?this.s:(this[0]<<16)>>16; } + + // (protected) return x s.t. r^x < DV + function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); } + + // (public) 0 if this == 0, 1 if this > 0 + function bnSigNum() { + if(this.s < 0) return -1; + else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0; + else return 1; + } + + // (protected) convert to radix string + function bnpToRadix(b) { + if(b == null) b = 10; + if(this.signum() == 0 || b < 2 || b > 36) return "0"; + var cs = this.chunkSize(b); + var a = Math.pow(b,cs); + var d = nbv(a), y = nbi(), z = nbi(), r = ""; + this.divRemTo(d,y,z); + while(y.signum() > 0) { + r = (a+z.intValue()).toString(b).substr(1) + r; + y.divRemTo(d,y,z); + } + return z.intValue().toString(b) + r; + } + + // (protected) convert from radix string + function bnpFromRadix(s,b) { + this.fromInt(0); + if(b == null) b = 10; + var cs = this.chunkSize(b); + var d = Math.pow(b,cs), mi = false, j = 0, w = 0; + for(var i = 0; i < s.length; ++i) { + var x = intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-" && this.signum() == 0) mi = true; + continue; + } + w = b*w+x; + if(++j >= cs) { + this.dMultiply(d); + this.dAddOffset(w,0); + j = 0; + w = 0; + } + } + if(j > 0) { + this.dMultiply(Math.pow(b,j)); + this.dAddOffset(w,0); + } + if(mi) BigInteger.ZERO.subTo(this,this); + } + + // (protected) alternate constructor + function bnpFromNumber(a,b,c) { + if("number" == typeof b) { + // new BigInteger(int,int,RNG) + if(a < 2) this.fromInt(1); + else { + this.fromNumber(a,c); + if(!this.testBit(a-1)) // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this); + if(this.isEven()) this.dAddOffset(1,0); // force odd + while(!this.isProbablePrime(b)) { + this.dAddOffset(2,0); + if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this); + } + } + } + else { + // new BigInteger(int,RNG) + var x = new Array(), t = a&7; + x.length = (a>>3)+1; + b.nextBytes(x); + if(t > 0) x[0] &= ((1< 0) { + if(p < this.DB && (d = this[i]>>p) != (this.s&this.DM)>>p) + r[k++] = d|(this.s<<(this.DB-p)); + while(i >= 0) { + if(p < 8) { + d = (this[i]&((1<>(p+=this.DB-8); + } + else { + d = (this[i]>>(p-=8))&0xff; + if(p <= 0) { p += this.DB; --i; } + } + if((d&0x80) != 0) d |= -256; + if(k == 0 && (this.s&0x80) != (d&0x80)) ++k; + if(k > 0 || d != this.s) r[k++] = d; + } + } + return r; + } + + function bnEquals(a) { return(this.compareTo(a)==0); } + function bnMin(a) { return(this.compareTo(a)<0)?this:a; } + function bnMax(a) { return(this.compareTo(a)>0)?this:a; } + + // (protected) r = this op a (bitwise) + function bnpBitwiseTo(a,op,r) { + var i, f, m = Math.min(a.t,this.t); + for(i = 0; i < m; ++i) r[i] = op(this[i],a[i]); + if(a.t < this.t) { + f = a.s&this.DM; + for(i = m; i < this.t; ++i) r[i] = op(this[i],f); + r.t = this.t; + } + else { + f = this.s&this.DM; + for(i = m; i < a.t; ++i) r[i] = op(f,a[i]); + r.t = a.t; + } + r.s = op(this.s,a.s); + r.clamp(); + } + + // (public) this & a + function op_and(x,y) { return x&y; } + function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; } + + // (public) this | a + function op_or(x,y) { return x|y; } + function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; } + + // (public) this ^ a + function op_xor(x,y) { return x^y; } + function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; } + + // (public) this & ~a + function op_andnot(x,y) { return x&~y; } + function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; } + + // (public) ~this + function bnNot() { + var r = nbi(); + for(var i = 0; i < this.t; ++i) r[i] = this.DM&~this[i]; + r.t = this.t; + r.s = ~this.s; + return r; + } + + // (public) this << n + function bnShiftLeft(n) { + var r = nbi(); + if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r); + return r; + } + + // (public) this >> n + function bnShiftRight(n) { + var r = nbi(); + if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r); + return r; + } + + // return index of lowest 1-bit in x, x < 2^31 + function lbit(x) { + if(x == 0) return -1; + var r = 0; + if((x&0xffff) == 0) { x >>= 16; r += 16; } + if((x&0xff) == 0) { x >>= 8; r += 8; } + if((x&0xf) == 0) { x >>= 4; r += 4; } + if((x&3) == 0) { x >>= 2; r += 2; } + if((x&1) == 0) ++r; + return r; + } + + // (public) returns index of lowest 1-bit (or -1 if none) + function bnGetLowestSetBit() { + for(var i = 0; i < this.t; ++i) + if(this[i] != 0) return i*this.DB+lbit(this[i]); + if(this.s < 0) return this.t*this.DB; + return -1; + } + + // return number of 1 bits in x + function cbit(x) { + var r = 0; + while(x != 0) { x &= x-1; ++r; } + return r; + } + + // (public) return number of set bits + function bnBitCount() { + var r = 0, x = this.s&this.DM; + for(var i = 0; i < this.t; ++i) r += cbit(this[i]^x); + return r; + } + + // (public) true iff nth bit is set + function bnTestBit(n) { + var j = Math.floor(n/this.DB); + if(j >= this.t) return(this.s!=0); + return((this[j]&(1<<(n%this.DB)))!=0); + } + + // (protected) this op (1<>= this.DB; + } + if(a.t < this.t) { + c += a.s; + while(i < this.t) { + c += this[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c += a[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c += a.s; + } + r.s = (c<0)?-1:0; + if(c > 0) r[i++] = c; + else if(c < -1) r[i++] = this.DV+c; + r.t = i; + r.clamp(); + } + + // (public) this + a + function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; } + + // (public) this - a + function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; } + + // (public) this * a + function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; } + + // (public) this^2 + function bnSquare() { var r = nbi(); this.squareTo(r); return r; } + + // (public) this / a + function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; } + + // (public) this % a + function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; } + + // (public) [this/a,this%a] + function bnDivideAndRemainder(a) { + var q = nbi(), r = nbi(); + this.divRemTo(a,q,r); + return new Array(q,r); + } + + // (protected) this *= n, this >= 0, 1 < n < DV + function bnpDMultiply(n) { + this[this.t] = this.am(0,n-1,this,0,0,this.t); + ++this.t; + this.clamp(); + } + + // (protected) this += n << w words, this >= 0 + function bnpDAddOffset(n,w) { + if(n == 0) return; + while(this.t <= w) this[this.t++] = 0; + this[w] += n; + while(this[w] >= this.DV) { + this[w] -= this.DV; + if(++w >= this.t) this[this.t++] = 0; + ++this[w]; + } + } + + // A "null" reducer + function NullExp() {} + function nNop(x) { return x; } + function nMulTo(x,y,r) { x.multiplyTo(y,r); } + function nSqrTo(x,r) { x.squareTo(r); } + + NullExp.prototype.convert = nNop; + NullExp.prototype.revert = nNop; + NullExp.prototype.mulTo = nMulTo; + NullExp.prototype.sqrTo = nSqrTo; + + // (public) this^e + function bnPow(e) { return this.exp(e,new NullExp()); } + + // (protected) r = lower n words of "this * a", a.t <= n + // "this" should be the larger one if appropriate. + function bnpMultiplyLowerTo(a,n,r) { + var i = Math.min(this.t+a.t,n); + r.s = 0; // assumes a,this >= 0 + r.t = i; + while(i > 0) r[--i] = 0; + var j; + for(j = r.t-this.t; i < j; ++i) r[i+this.t] = this.am(0,a[i],r,i,0,this.t); + for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a[i],r,i,0,n-i); + r.clamp(); + } + + // (protected) r = "this * a" without lower n words, n > 0 + // "this" should be the larger one if appropriate. + function bnpMultiplyUpperTo(a,n,r) { + --n; + var i = r.t = this.t+a.t-n; + r.s = 0; // assumes a,this >= 0 + while(--i >= 0) r[i] = 0; + for(i = Math.max(n-this.t,0); i < a.t; ++i) + r[this.t+i-n] = this.am(n-i,a[i],r,0,0,this.t+i-n); + r.clamp(); + r.drShiftTo(1,r); + } + + // Barrett modular reduction + function Barrett(m) { + // setup Barrett + this.r2 = nbi(); + this.q3 = nbi(); + BigInteger.ONE.dlShiftTo(2*m.t,this.r2); + this.mu = this.r2.divide(m); + this.m = m; + } + + function barrettConvert(x) { + if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m); + else if(x.compareTo(this.m) < 0) return x; + else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } + } + + function barrettRevert(x) { return x; } + + // x = x mod m (HAC 14.42) + function barrettReduce(x) { + x.drShiftTo(this.m.t-1,this.r2); + if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); } + this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3); + this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2); + while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1); + x.subTo(this.r2,x); + while(x.compareTo(this.m) >= 0) x.subTo(this.m,x); + } + + // r = x^2 mod m; x != r + function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + + // r = x*y mod m; x,y != r + function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + + Barrett.prototype.convert = barrettConvert; + Barrett.prototype.revert = barrettRevert; + Barrett.prototype.reduce = barrettReduce; + Barrett.prototype.mulTo = barrettMulTo; + Barrett.prototype.sqrTo = barrettSqrTo; + + // (public) this^e % m (HAC 14.85) + function bnModPow(e,m) { + var i = e.bitLength(), k, r = nbv(1), z; + if(i <= 0) return r; + else if(i < 18) k = 1; + else if(i < 48) k = 3; + else if(i < 144) k = 4; + else if(i < 768) k = 5; + else k = 6; + if(i < 8) + z = new Classic(m); + else if(m.isEven()) + z = new Barrett(m); + else + z = new Montgomery(m); + + // precomputation + var g = new Array(), n = 3, k1 = k-1, km = (1< 1) { + var g2 = nbi(); + z.sqrTo(g[1],g2); + while(n <= km) { + g[n] = nbi(); + z.mulTo(g2,g[n-2],g[n]); + n += 2; + } + } + + var j = e.t-1, w, is1 = true, r2 = nbi(), t; + i = nbits(e[j])-1; + while(j >= 0) { + if(i >= k1) w = (e[j]>>(i-k1))&km; + else { + w = (e[j]&((1<<(i+1))-1))<<(k1-i); + if(j > 0) w |= e[j-1]>>(this.DB+i-k1); + } + + n = k; + while((w&1) == 0) { w >>= 1; --n; } + if((i -= n) < 0) { i += this.DB; --j; } + if(is1) { // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } + else { + while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; } + if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; } + z.mulTo(r2,g[w],r); + } + + while(j >= 0 && (e[j]&(1< 0) { + x.rShiftTo(g,x); + y.rShiftTo(g,y); + } + while(x.signum() > 0) { + if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x); + if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y); + if(x.compareTo(y) >= 0) { + x.subTo(y,x); + x.rShiftTo(1,x); + } + else { + y.subTo(x,y); + y.rShiftTo(1,y); + } + } + if(g > 0) y.lShiftTo(g,y); + return y; + } + + // (protected) this % n, n < 2^26 + function bnpModInt(n) { + if(n <= 0) return 0; + var d = this.DV%n, r = (this.s<0)?n-1:0; + if(this.t > 0) + if(d == 0) r = this[0]%n; + else for(var i = this.t-1; i >= 0; --i) r = (d*r+this[i])%n; + return r; + } + + // (public) 1/this % m (HAC 14.61) + function bnModInverse(m) { + var ac = m.isEven(); + if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO; + var u = m.clone(), v = this.clone(); + var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1); + while(u.signum() != 0) { + while(u.isEven()) { + u.rShiftTo(1,u); + if(ac) { + if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); } + a.rShiftTo(1,a); + } + else if(!b.isEven()) b.subTo(m,b); + b.rShiftTo(1,b); + } + while(v.isEven()) { + v.rShiftTo(1,v); + if(ac) { + if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); } + c.rShiftTo(1,c); + } + else if(!d.isEven()) d.subTo(m,d); + d.rShiftTo(1,d); + } + if(u.compareTo(v) >= 0) { + u.subTo(v,u); + if(ac) a.subTo(c,a); + b.subTo(d,b); + } + else { + v.subTo(u,v); + if(ac) c.subTo(a,c); + d.subTo(b,d); + } + } + if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; + if(d.compareTo(m) >= 0) return d.subtract(m); + if(d.signum() < 0) d.addTo(m,d); else return d; + if(d.signum() < 0) return d.add(m); else return d; + } + + var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997]; + var lplim = (1<<26)/lowprimes[lowprimes.length-1]; + + // (public) test primality with certainty >= 1-.5^t + function bnIsProbablePrime(t) { + var i, x = this.abs(); + if(x.t == 1 && x[0] <= lowprimes[lowprimes.length-1]) { + for(i = 0; i < lowprimes.length; ++i) + if(x[0] == lowprimes[i]) return true; + return false; + } + if(x.isEven()) return false; + i = 1; + while(i < lowprimes.length) { + var m = lowprimes[i], j = i+1; + while(j < lowprimes.length && m < lplim) m *= lowprimes[j++]; + m = x.modInt(m); + while(i < j) if(m%lowprimes[i++] == 0) return false; + } + return x.millerRabin(t); + } + + // (protected) true if probably prime (HAC 4.24, Miller-Rabin) + function bnpMillerRabin(t) { + var n1 = this.subtract(BigInteger.ONE); + var k = n1.getLowestSetBit(); + if(k <= 0) return false; + var r = n1.shiftRight(k); + t = (t+1)>>1; + if(t > lowprimes.length) t = lowprimes.length; + var a = nbi(); + for(var i = 0; i < t; ++i) { + //Pick bases at random, instead of starting at 2 + a.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]); + var y = a.modPow(r,this); + if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { + var j = 1; + while(j++ < k && y.compareTo(n1) != 0) { + y = y.modPowInt(2,this); + if(y.compareTo(BigInteger.ONE) == 0) return false; + } + if(y.compareTo(n1) != 0) return false; + } + } + return true; + } + + // protected + BigInteger.prototype.chunkSize = bnpChunkSize; + BigInteger.prototype.toRadix = bnpToRadix; + BigInteger.prototype.fromRadix = bnpFromRadix; + BigInteger.prototype.fromNumber = bnpFromNumber; + BigInteger.prototype.bitwiseTo = bnpBitwiseTo; + BigInteger.prototype.changeBit = bnpChangeBit; + BigInteger.prototype.addTo = bnpAddTo; + BigInteger.prototype.dMultiply = bnpDMultiply; + BigInteger.prototype.dAddOffset = bnpDAddOffset; + BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; + BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; + BigInteger.prototype.modInt = bnpModInt; + BigInteger.prototype.millerRabin = bnpMillerRabin; + + // public + BigInteger.prototype.clone = bnClone; + BigInteger.prototype.intValue = bnIntValue; + BigInteger.prototype.byteValue = bnByteValue; + BigInteger.prototype.shortValue = bnShortValue; + BigInteger.prototype.signum = bnSigNum; + BigInteger.prototype.toByteArray = bnToByteArray; + BigInteger.prototype.equals = bnEquals; + BigInteger.prototype.min = bnMin; + BigInteger.prototype.max = bnMax; + BigInteger.prototype.and = bnAnd; + BigInteger.prototype.or = bnOr; + BigInteger.prototype.xor = bnXor; + BigInteger.prototype.andNot = bnAndNot; + BigInteger.prototype.not = bnNot; + BigInteger.prototype.shiftLeft = bnShiftLeft; + BigInteger.prototype.shiftRight = bnShiftRight; + BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; + BigInteger.prototype.bitCount = bnBitCount; + BigInteger.prototype.testBit = bnTestBit; + BigInteger.prototype.setBit = bnSetBit; + BigInteger.prototype.clearBit = bnClearBit; + BigInteger.prototype.flipBit = bnFlipBit; + BigInteger.prototype.add = bnAdd; + BigInteger.prototype.subtract = bnSubtract; + BigInteger.prototype.multiply = bnMultiply; + BigInteger.prototype.divide = bnDivide; + BigInteger.prototype.remainder = bnRemainder; + BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; + BigInteger.prototype.modPow = bnModPow; + BigInteger.prototype.modInverse = bnModInverse; + BigInteger.prototype.pow = bnPow; + BigInteger.prototype.gcd = bnGCD; + BigInteger.prototype.isProbablePrime = bnIsProbablePrime; + + // JSBN-specific extension + BigInteger.prototype.square = bnSquare; + + // Expose the Barrett function + BigInteger.prototype.Barrett = Barrett + + // BigInteger interfaces not implemented in jsbn: + + // BigInteger(int signum, byte[] magnitude) + // double doubleValue() + // float floatValue() + // int hashCode() + // long longValue() + // static BigInteger valueOf(long val) + + // Random number generator - requires a PRNG backend, e.g. prng4.js + + // For best results, put code like + // + // in your main HTML document. + + var rng_state; + var rng_pool; + var rng_pptr; + + // Mix in a 32-bit integer into the pool + function rng_seed_int(x) { + rng_pool[rng_pptr++] ^= x & 255; + rng_pool[rng_pptr++] ^= (x >> 8) & 255; + rng_pool[rng_pptr++] ^= (x >> 16) & 255; + rng_pool[rng_pptr++] ^= (x >> 24) & 255; + if(rng_pptr >= rng_psize) rng_pptr -= rng_psize; + } + + // Mix in the current time (w/milliseconds) into the pool + function rng_seed_time() { + rng_seed_int(new Date().getTime()); + } + + // Initialize the pool with junk if needed. + if(rng_pool == null) { + rng_pool = new Array(); + rng_pptr = 0; + var t; + if(typeof window !== "undefined" && window.crypto) { + if (window.crypto.getRandomValues) { + // Use webcrypto if available + var ua = new Uint8Array(32); + window.crypto.getRandomValues(ua); + for(t = 0; t < 32; ++t) + rng_pool[rng_pptr++] = ua[t]; + } + else if(navigator.appName == "Netscape" && navigator.appVersion < "5") { + // Extract entropy (256 bits) from NS4 RNG if available + var z = window.crypto.random(32); + for(t = 0; t < z.length; ++t) + rng_pool[rng_pptr++] = z.charCodeAt(t) & 255; + } + } + while(rng_pptr < rng_psize) { // extract some randomness from Math.random() + t = Math.floor(65536 * Math.random()); + rng_pool[rng_pptr++] = t >>> 8; + rng_pool[rng_pptr++] = t & 255; + } + rng_pptr = 0; + rng_seed_time(); + //rng_seed_int(window.screenX); + //rng_seed_int(window.screenY); + } + + function rng_get_byte() { + if(rng_state == null) { + rng_seed_time(); + rng_state = prng_newstate(); + rng_state.init(rng_pool); + for(rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) + rng_pool[rng_pptr] = 0; + rng_pptr = 0; + //rng_pool = null; + } + // TODO: allow reseeding after first request + return rng_state.next(); + } + + function rng_get_bytes(ba) { + var i; + for(i = 0; i < ba.length; ++i) ba[i] = rng_get_byte(); + } + + function SecureRandom() {} + + SecureRandom.prototype.nextBytes = rng_get_bytes; + + // prng4.js - uses Arcfour as a PRNG + + function Arcfour() { + this.i = 0; + this.j = 0; + this.S = new Array(); + } + + // Initialize arcfour context from key, an array of ints, each from [0..255] + function ARC4init(key) { + var i, j, t; + for(i = 0; i < 256; ++i) + this.S[i] = i; + j = 0; + for(i = 0; i < 256; ++i) { + j = (j + this.S[i] + key[i % key.length]) & 255; + t = this.S[i]; + this.S[i] = this.S[j]; + this.S[j] = t; + } + this.i = 0; + this.j = 0; + } + + function ARC4next() { + var t; + this.i = (this.i + 1) & 255; + this.j = (this.j + this.S[this.i]) & 255; + t = this.S[this.i]; + this.S[this.i] = this.S[this.j]; + this.S[this.j] = t; + return this.S[(t + this.S[this.i]) & 255]; + } + + Arcfour.prototype.init = ARC4init; + Arcfour.prototype.next = ARC4next; + + // Plug in your RNG constructor here + function prng_newstate() { + return new Arcfour(); + } + + // Pool size must be a multiple of 4 and greater than 32. + // An array of bytes the size of the pool will be passed to init() + var rng_psize = 256; + + BigInteger.SecureRandom = SecureRandom; + BigInteger.BigInteger = BigInteger; + if (true) { + exports = module.exports = BigInteger; + } else {} + +}).call(this); + + +/***/ }), + +/***/ 68874: +/***/ ((module) => { + +"use strict"; + + +var traverse = module.exports = function (schema, opts, cb) { + // Legacy support for v0.3.1 and earlier. + if (typeof opts == 'function') { + cb = opts; + opts = {}; + } + + cb = opts.cb || cb; + var pre = (typeof cb == 'function') ? cb : cb.pre || function() {}; + var post = cb.post || function() {}; + + _traverse(opts, pre, post, schema, '', schema); +}; + + +traverse.keywords = { + additionalItems: true, + items: true, + contains: true, + additionalProperties: true, + propertyNames: true, + not: true +}; + +traverse.arrayKeywords = { + items: true, + allOf: true, + anyOf: true, + oneOf: true +}; + +traverse.propsKeywords = { + definitions: true, + properties: true, + patternProperties: true, + dependencies: true +}; + +traverse.skipKeywords = { + default: true, + enum: true, + const: true, + required: true, + maximum: true, + minimum: true, + exclusiveMaximum: true, + exclusiveMinimum: true, + multipleOf: true, + maxLength: true, + minLength: true, + pattern: true, + format: true, + maxItems: true, + minItems: true, + uniqueItems: true, + maxProperties: true, + minProperties: true +}; + + +function _traverse(opts, pre, post, schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex) { + if (schema && typeof schema == 'object' && !Array.isArray(schema)) { + pre(schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema, keyIndex); + for (var key in schema) { + var sch = schema[key]; + if (Array.isArray(sch)) { + if (key in traverse.arrayKeywords) { + for (var i=0; i schema.maxItems){ + addError("There must be a maximum of " + schema.maxItems + " in the array"); + } + }else if(schema.properties || schema.additionalProperties){ + errors.concat(checkObj(value, schema.properties, path, schema.additionalProperties)); + } + if(schema.pattern && typeof value == 'string' && !value.match(schema.pattern)){ + addError("does not match the regex pattern " + schema.pattern); + } + if(schema.maxLength && typeof value == 'string' && value.length > schema.maxLength){ + addError("may only be " + schema.maxLength + " characters long"); + } + if(schema.minLength && typeof value == 'string' && value.length < schema.minLength){ + addError("must be at least " + schema.minLength + " characters long"); + } + if(typeof schema.minimum !== 'undefined' && typeof value == typeof schema.minimum && + schema.minimum > value){ + addError("must have a minimum value of " + schema.minimum); + } + if(typeof schema.maximum !== 'undefined' && typeof value == typeof schema.maximum && + schema.maximum < value){ + addError("must have a maximum value of " + schema.maximum); + } + if(schema['enum']){ + var enumer = schema['enum']; + l = enumer.length; + var found; + for(var j = 0; j < l; j++){ + if(enumer[j]===value){ + found=1; + break; + } + } + if(!found){ + addError("does not have a value in the enumeration " + enumer.join(", ")); + } + } + if(typeof schema.maxDecimal == 'number' && + (value.toString().match(new RegExp("\\.[0-9]{" + (schema.maxDecimal + 1) + ",}")))){ + addError("may only have " + schema.maxDecimal + " digits of decimal places"); + } + } + } + return null; + } + // validate an object against a schema + function checkObj(instance,objTypeDef,path,additionalProp){ + + if(typeof objTypeDef =='object'){ + if(typeof instance != 'object' || instance instanceof Array){ + errors.push({property:path,message:"an object is required"}); + } + + for(var i in objTypeDef){ + if(objTypeDef.hasOwnProperty(i) && i != '__proto__' && i != 'constructor'){ + var value = instance.hasOwnProperty(i) ? instance[i] : undefined; + // skip _not_ specified properties + if (value === undefined && options.existingOnly) continue; + var propDef = objTypeDef[i]; + // set default + if(value === undefined && propDef["default"]){ + value = instance[i] = propDef["default"]; + } + if(options.coerce && i in instance){ + value = instance[i] = options.coerce(value, propDef); + } + checkProp(value,propDef,path,i); + } + } + } + for(i in instance){ + if(instance.hasOwnProperty(i) && !(i.charAt(0) == '_' && i.charAt(1) == '_') && objTypeDef && !objTypeDef[i] && additionalProp===false){ + if (options.filter) { + delete instance[i]; + continue; + } else { + errors.push({property:path,message:"The property " + i + + " is not defined in the schema and the schema does not allow additional properties"}); + } + } + var requires = objTypeDef && objTypeDef[i] && objTypeDef[i].requires; + if(requires && !(requires in instance)){ + errors.push({property:path,message:"the presence of the property " + i + " requires that " + requires + " also be present"}); + } + value = instance[i]; + if(additionalProp && (!(objTypeDef && typeof objTypeDef == 'object') || !(i in objTypeDef))){ + if(options.coerce){ + value = instance[i] = options.coerce(value, additionalProp); + } + checkProp(value,additionalProp,path,i); + } + if(!_changing && value && value.$schema){ + errors = errors.concat(checkProp(value,value.$schema,path,i)); + } + } + return errors; + } + if(schema){ + checkProp(instance,schema,'',_changing || ''); + } + if(!_changing && instance && instance.$schema){ + checkProp(instance,instance.$schema,'',''); + } + return {valid:!errors.length,errors:errors}; +}; +exports.mustBeValid = function(result){ + // summary: + // This checks to ensure that the result is valid and will throw an appropriate error message if it is not + // result: the result returned from checkPropertyChange or validate + if(!result.valid){ + throw new TypeError(result.errors.map(function(error){return "for property " + error.property + ': ' + error.message;}).join(", \n")); + } +} + +return exports; +})); + + +/***/ }), + +/***/ 75026: +/***/ ((module, exports) => { + +exports = module.exports = stringify +exports.getSerialize = serializer + +function stringify(obj, replacer, spaces, cycleReplacer) { + return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces) +} + +function serializer(replacer, cycleReplacer) { + var stack = [], keys = [] + + if (cycleReplacer == null) cycleReplacer = function(key, value) { + if (stack[0] === value) return "[Circular ~]" + return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]" + } + + return function(key, value) { + if (stack.length > 0) { + var thisPos = stack.indexOf(this) + ~thisPos ? stack.splice(thisPos + 1) : stack.push(this) + ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key) + if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value) + } + else stack.push(value) + + return replacer == null ? value : replacer.call(this, key, value) + } +} + + +/***/ }), + +/***/ 10595: +/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { + +/* + * lib/jsprim.js: utilities for primitive JavaScript types + */ + +var mod_assert = __nccwpck_require__(86750); +var mod_util = __nccwpck_require__(39023); + +var mod_extsprintf = __nccwpck_require__(18175); +var mod_verror = __nccwpck_require__(56825); +var mod_jsonschema = __nccwpck_require__(959); + +/* + * Public interface + */ +exports.deepCopy = deepCopy; +exports.deepEqual = deepEqual; +exports.isEmpty = isEmpty; +exports.hasKey = hasKey; +exports.forEachKey = forEachKey; +exports.pluck = pluck; +exports.flattenObject = flattenObject; +exports.flattenIter = flattenIter; +exports.validateJsonObject = validateJsonObjectJS; +exports.validateJsonObjectJS = validateJsonObjectJS; +exports.randElt = randElt; +exports.extraProperties = extraProperties; +exports.mergeObjects = mergeObjects; + +exports.startsWith = startsWith; +exports.endsWith = endsWith; + +exports.parseInteger = parseInteger; + +exports.iso8601 = iso8601; +exports.rfc1123 = rfc1123; +exports.parseDateTime = parseDateTime; + +exports.hrtimediff = hrtimeDiff; +exports.hrtimeDiff = hrtimeDiff; +exports.hrtimeAccum = hrtimeAccum; +exports.hrtimeAdd = hrtimeAdd; +exports.hrtimeNanosec = hrtimeNanosec; +exports.hrtimeMicrosec = hrtimeMicrosec; +exports.hrtimeMillisec = hrtimeMillisec; + + +/* + * Deep copy an acyclic *basic* Javascript object. This only handles basic + * scalars (strings, numbers, booleans) and arbitrarily deep arrays and objects + * containing these. This does *not* handle instances of other classes. + */ +function deepCopy(obj) +{ + var ret, key; + var marker = '__deepCopy'; + + if (obj && obj[marker]) + throw (new Error('attempted deep copy of cyclic object')); + + if (obj && obj.constructor == Object) { + ret = {}; + obj[marker] = true; + + for (key in obj) { + if (key == marker) + continue; + + ret[key] = deepCopy(obj[key]); + } + + delete (obj[marker]); + return (ret); + } + + if (obj && obj.constructor == Array) { + ret = []; + obj[marker] = true; + + for (key = 0; key < obj.length; key++) + ret.push(deepCopy(obj[key])); + + delete (obj[marker]); + return (ret); + } + + /* + * It must be a primitive type -- just return it. + */ + return (obj); +} + +function deepEqual(obj1, obj2) +{ + if (typeof (obj1) != typeof (obj2)) + return (false); + + if (obj1 === null || obj2 === null || typeof (obj1) != 'object') + return (obj1 === obj2); + + if (obj1.constructor != obj2.constructor) + return (false); + + var k; + for (k in obj1) { + if (!obj2.hasOwnProperty(k)) + return (false); + + if (!deepEqual(obj1[k], obj2[k])) + return (false); + } + + for (k in obj2) { + if (!obj1.hasOwnProperty(k)) + return (false); + } + + return (true); +} + +function isEmpty(obj) +{ + var key; + for (key in obj) + return (false); + return (true); +} + +function hasKey(obj, key) +{ + mod_assert.equal(typeof (key), 'string'); + return (Object.prototype.hasOwnProperty.call(obj, key)); +} + +function forEachKey(obj, callback) +{ + for (var key in obj) { + if (hasKey(obj, key)) { + callback(key, obj[key]); + } + } +} + +function pluck(obj, key) +{ + mod_assert.equal(typeof (key), 'string'); + return (pluckv(obj, key)); +} + +function pluckv(obj, key) +{ + if (obj === null || typeof (obj) !== 'object') + return (undefined); + + if (obj.hasOwnProperty(key)) + return (obj[key]); + + var i = key.indexOf('.'); + if (i == -1) + return (undefined); + + var key1 = key.substr(0, i); + if (!obj.hasOwnProperty(key1)) + return (undefined); + + return (pluckv(obj[key1], key.substr(i + 1))); +} + +/* + * Invoke callback(row) for each entry in the array that would be returned by + * flattenObject(data, depth). This is just like flattenObject(data, + * depth).forEach(callback), except that the intermediate array is never + * created. + */ +function flattenIter(data, depth, callback) +{ + doFlattenIter(data, depth, [], callback); +} + +function doFlattenIter(data, depth, accum, callback) +{ + var each; + var key; + + if (depth === 0) { + each = accum.slice(0); + each.push(data); + callback(each); + return; + } + + mod_assert.ok(data !== null); + mod_assert.equal(typeof (data), 'object'); + mod_assert.equal(typeof (depth), 'number'); + mod_assert.ok(depth >= 0); + + for (key in data) { + each = accum.slice(0); + each.push(key); + doFlattenIter(data[key], depth - 1, each, callback); + } +} + +function flattenObject(data, depth) +{ + if (depth === 0) + return ([ data ]); + + mod_assert.ok(data !== null); + mod_assert.equal(typeof (data), 'object'); + mod_assert.equal(typeof (depth), 'number'); + mod_assert.ok(depth >= 0); + + var rv = []; + var key; + + for (key in data) { + flattenObject(data[key], depth - 1).forEach(function (p) { + rv.push([ key ].concat(p)); + }); + } + + return (rv); +} + +function startsWith(str, prefix) +{ + return (str.substr(0, prefix.length) == prefix); +} + +function endsWith(str, suffix) +{ + return (str.substr( + str.length - suffix.length, suffix.length) == suffix); +} + +function iso8601(d) +{ + if (typeof (d) == 'number') + d = new Date(d); + mod_assert.ok(d.constructor === Date); + return (mod_extsprintf.sprintf('%4d-%02d-%02dT%02d:%02d:%02d.%03dZ', + d.getUTCFullYear(), d.getUTCMonth() + 1, d.getUTCDate(), + d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), + d.getUTCMilliseconds())); +} + +var RFC1123_MONTHS = [ + 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', + 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; +var RFC1123_DAYS = [ + 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + +function rfc1123(date) { + return (mod_extsprintf.sprintf('%s, %02d %s %04d %02d:%02d:%02d GMT', + RFC1123_DAYS[date.getUTCDay()], date.getUTCDate(), + RFC1123_MONTHS[date.getUTCMonth()], date.getUTCFullYear(), + date.getUTCHours(), date.getUTCMinutes(), + date.getUTCSeconds())); +} + +/* + * Parses a date expressed as a string, as either a number of milliseconds since + * the epoch or any string format that Date accepts, giving preference to the + * former where these two sets overlap (e.g., small numbers). + */ +function parseDateTime(str) +{ + /* + * This is irritatingly implicit, but significantly more concise than + * alternatives. The "+str" will convert a string containing only a + * number directly to a Number, or NaN for other strings. Thus, if the + * conversion succeeds, we use it (this is the milliseconds-since-epoch + * case). Otherwise, we pass the string directly to the Date + * constructor to parse. + */ + var numeric = +str; + if (!isNaN(numeric)) { + return (new Date(numeric)); + } else { + return (new Date(str)); + } +} + + +/* + * Number.*_SAFE_INTEGER isn't present before node v0.12, so we hardcode + * the ES6 definitions here, while allowing for them to someday be higher. + */ +var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; +var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991; + + +/* + * Default options for parseInteger(). + */ +var PI_DEFAULTS = { + base: 10, + allowSign: true, + allowPrefix: false, + allowTrailing: false, + allowImprecise: false, + trimWhitespace: false, + leadingZeroIsOctal: false +}; + +var CP_0 = 0x30; +var CP_9 = 0x39; + +var CP_A = 0x41; +var CP_B = 0x42; +var CP_O = 0x4f; +var CP_T = 0x54; +var CP_X = 0x58; +var CP_Z = 0x5a; + +var CP_a = 0x61; +var CP_b = 0x62; +var CP_o = 0x6f; +var CP_t = 0x74; +var CP_x = 0x78; +var CP_z = 0x7a; + +var PI_CONV_DEC = 0x30; +var PI_CONV_UC = 0x37; +var PI_CONV_LC = 0x57; + + +/* + * A stricter version of parseInt() that provides options for changing what + * is an acceptable string (for example, disallowing trailing characters). + */ +function parseInteger(str, uopts) +{ + mod_assert.string(str, 'str'); + mod_assert.optionalObject(uopts, 'options'); + + var baseOverride = false; + var options = PI_DEFAULTS; + + if (uopts) { + baseOverride = hasKey(uopts, 'base'); + options = mergeObjects(options, uopts); + mod_assert.number(options.base, 'options.base'); + mod_assert.ok(options.base >= 2, 'options.base >= 2'); + mod_assert.ok(options.base <= 36, 'options.base <= 36'); + mod_assert.bool(options.allowSign, 'options.allowSign'); + mod_assert.bool(options.allowPrefix, 'options.allowPrefix'); + mod_assert.bool(options.allowTrailing, + 'options.allowTrailing'); + mod_assert.bool(options.allowImprecise, + 'options.allowImprecise'); + mod_assert.bool(options.trimWhitespace, + 'options.trimWhitespace'); + mod_assert.bool(options.leadingZeroIsOctal, + 'options.leadingZeroIsOctal'); + + if (options.leadingZeroIsOctal) { + mod_assert.ok(!baseOverride, + '"base" and "leadingZeroIsOctal" are ' + + 'mutually exclusive'); + } + } + + var c; + var pbase = -1; + var base = options.base; + var start; + var mult = 1; + var value = 0; + var idx = 0; + var len = str.length; + + /* Trim any whitespace on the left side. */ + if (options.trimWhitespace) { + while (idx < len && isSpace(str.charCodeAt(idx))) { + ++idx; + } + } + + /* Check the number for a leading sign. */ + if (options.allowSign) { + if (str[idx] === '-') { + idx += 1; + mult = -1; + } else if (str[idx] === '+') { + idx += 1; + } + } + + /* Parse the base-indicating prefix if there is one. */ + if (str[idx] === '0') { + if (options.allowPrefix) { + pbase = prefixToBase(str.charCodeAt(idx + 1)); + if (pbase !== -1 && (!baseOverride || pbase === base)) { + base = pbase; + idx += 2; + } + } + + if (pbase === -1 && options.leadingZeroIsOctal) { + base = 8; + } + } + + /* Parse the actual digits. */ + for (start = idx; idx < len; ++idx) { + c = translateDigit(str.charCodeAt(idx)); + if (c !== -1 && c < base) { + value *= base; + value += c; + } else { + break; + } + } + + /* If we didn't parse any digits, we have an invalid number. */ + if (start === idx) { + return (new Error('invalid number: ' + JSON.stringify(str))); + } + + /* Trim any whitespace on the right side. */ + if (options.trimWhitespace) { + while (idx < len && isSpace(str.charCodeAt(idx))) { + ++idx; + } + } + + /* Check for trailing characters. */ + if (idx < len && !options.allowTrailing) { + return (new Error('trailing characters after number: ' + + JSON.stringify(str.slice(idx)))); + } + + /* If our value is 0, we return now, to avoid returning -0. */ + if (value === 0) { + return (0); + } + + /* Calculate our final value. */ + var result = value * mult; + + /* + * If the string represents a value that cannot be precisely represented + * by JavaScript, then we want to check that: + * + * - We never increased the value past MAX_SAFE_INTEGER + * - We don't make the result negative and below MIN_SAFE_INTEGER + * + * Because we only ever increment the value during parsing, there's no + * chance of moving past MAX_SAFE_INTEGER and then dropping below it + * again, losing precision in the process. This means that we only need + * to do our checks here, at the end. + */ + if (!options.allowImprecise && + (value > MAX_SAFE_INTEGER || result < MIN_SAFE_INTEGER)) { + return (new Error('number is outside of the supported range: ' + + JSON.stringify(str.slice(start, idx)))); + } + + return (result); +} + + +/* + * Interpret a character code as a base-36 digit. + */ +function translateDigit(d) +{ + if (d >= CP_0 && d <= CP_9) { + /* '0' to '9' -> 0 to 9 */ + return (d - PI_CONV_DEC); + } else if (d >= CP_A && d <= CP_Z) { + /* 'A' - 'Z' -> 10 to 35 */ + return (d - PI_CONV_UC); + } else if (d >= CP_a && d <= CP_z) { + /* 'a' - 'z' -> 10 to 35 */ + return (d - PI_CONV_LC); + } else { + /* Invalid character code */ + return (-1); + } +} + + +/* + * Test if a value matches the ECMAScript definition of trimmable whitespace. + */ +function isSpace(c) +{ + return (c === 0x20) || + (c >= 0x0009 && c <= 0x000d) || + (c === 0x00a0) || + (c === 0x1680) || + (c === 0x180e) || + (c >= 0x2000 && c <= 0x200a) || + (c === 0x2028) || + (c === 0x2029) || + (c === 0x202f) || + (c === 0x205f) || + (c === 0x3000) || + (c === 0xfeff); +} + + +/* + * Determine which base a character indicates (e.g., 'x' indicates hex). + */ +function prefixToBase(c) +{ + if (c === CP_b || c === CP_B) { + /* 0b/0B (binary) */ + return (2); + } else if (c === CP_o || c === CP_O) { + /* 0o/0O (octal) */ + return (8); + } else if (c === CP_t || c === CP_T) { + /* 0t/0T (decimal) */ + return (10); + } else if (c === CP_x || c === CP_X) { + /* 0x/0X (hexadecimal) */ + return (16); + } else { + /* Not a meaningful character */ + return (-1); + } +} + + +function validateJsonObjectJS(schema, input) +{ + var report = mod_jsonschema.validate(input, schema); + + if (report.errors.length === 0) + return (null); + + /* Currently, we only do anything useful with the first error. */ + var error = report.errors[0]; + + /* The failed property is given by a URI with an irrelevant prefix. */ + var propname = error['property']; + var reason = error['message'].toLowerCase(); + var i, j; + + /* + * There's at least one case where the property error message is + * confusing at best. We work around this here. + */ + if ((i = reason.indexOf('the property ')) != -1 && + (j = reason.indexOf(' is not defined in the schema and the ' + + 'schema does not allow additional properties')) != -1) { + i += 'the property '.length; + if (propname === '') + propname = reason.substr(i, j - i); + else + propname = propname + '.' + reason.substr(i, j - i); + + reason = 'unsupported property'; + } + + var rv = new mod_verror.VError('property "%s": %s', propname, reason); + rv.jsv_details = error; + return (rv); +} + +function randElt(arr) +{ + mod_assert.ok(Array.isArray(arr) && arr.length > 0, + 'randElt argument must be a non-empty array'); + + return (arr[Math.floor(Math.random() * arr.length)]); +} + +function assertHrtime(a) +{ + mod_assert.ok(a[0] >= 0 && a[1] >= 0, + 'negative numbers not allowed in hrtimes'); + mod_assert.ok(a[1] < 1e9, 'nanoseconds column overflow'); +} + +/* + * Compute the time elapsed between hrtime readings A and B, where A is later + * than B. hrtime readings come from Node's process.hrtime(). There is no + * defined way to represent negative deltas, so it's illegal to diff B from A + * where the time denoted by B is later than the time denoted by A. If this + * becomes valuable, we can define a representation and extend the + * implementation to support it. + */ +function hrtimeDiff(a, b) +{ + assertHrtime(a); + assertHrtime(b); + mod_assert.ok(a[0] > b[0] || (a[0] == b[0] && a[1] >= b[1]), + 'negative differences not allowed'); + + var rv = [ a[0] - b[0], 0 ]; + + if (a[1] >= b[1]) { + rv[1] = a[1] - b[1]; + } else { + rv[0]--; + rv[1] = 1e9 - (b[1] - a[1]); + } + + return (rv); +} + +/* + * Convert a hrtime reading from the array format returned by Node's + * process.hrtime() into a scalar number of nanoseconds. + */ +function hrtimeNanosec(a) +{ + assertHrtime(a); + + return (Math.floor(a[0] * 1e9 + a[1])); +} + +/* + * Convert a hrtime reading from the array format returned by Node's + * process.hrtime() into a scalar number of microseconds. + */ +function hrtimeMicrosec(a) +{ + assertHrtime(a); + + return (Math.floor(a[0] * 1e6 + a[1] / 1e3)); +} + +/* + * Convert a hrtime reading from the array format returned by Node's + * process.hrtime() into a scalar number of milliseconds. + */ +function hrtimeMillisec(a) +{ + assertHrtime(a); + + return (Math.floor(a[0] * 1e3 + a[1] / 1e6)); +} + +/* + * Add two hrtime readings A and B, overwriting A with the result of the + * addition. This function is useful for accumulating several hrtime intervals + * into a counter. Returns A. + */ +function hrtimeAccum(a, b) +{ + assertHrtime(a); + assertHrtime(b); + + /* + * Accumulate the nanosecond component. + */ + a[1] += b[1]; + if (a[1] >= 1e9) { + /* + * The nanosecond component overflowed, so carry to the seconds + * field. + */ + a[0]++; + a[1] -= 1e9; + } + + /* + * Accumulate the seconds component. + */ + a[0] += b[0]; + + return (a); +} + +/* + * Add two hrtime readings A and B, returning the result as a new hrtime array. + * Does not modify either input argument. + */ +function hrtimeAdd(a, b) +{ + assertHrtime(a); + + var rv = [ a[0], a[1] ]; + + return (hrtimeAccum(rv, b)); +} + + +/* + * Check an object for unexpected properties. Accepts the object to check, and + * an array of allowed property names (strings). Returns an array of key names + * that were found on the object, but did not appear in the list of allowed + * properties. If no properties were found, the returned array will be of + * zero length. + */ +function extraProperties(obj, allowed) +{ + mod_assert.ok(typeof (obj) === 'object' && obj !== null, + 'obj argument must be a non-null object'); + mod_assert.ok(Array.isArray(allowed), + 'allowed argument must be an array of strings'); + for (var i = 0; i < allowed.length; i++) { + mod_assert.ok(typeof (allowed[i]) === 'string', + 'allowed argument must be an array of strings'); + } + + return (Object.keys(obj).filter(function (key) { + return (allowed.indexOf(key) === -1); + })); +} + +/* + * Given three sets of properties "provided" (may be undefined), "overrides" + * (required), and "defaults" (may be undefined), construct an object containing + * the union of these sets with "overrides" overriding "provided", and + * "provided" overriding "defaults". None of the input objects are modified. + */ +function mergeObjects(provided, overrides, defaults) +{ + var rv, k; + + rv = {}; + if (defaults) { + for (k in defaults) + rv[k] = defaults[k]; + } + + if (provided) { + for (k in provided) + rv[k] = provided[k]; + } + + if (overrides) { + for (k in overrides) + rv[k] = overrides[k]; + } + + return (rv); +} + + +/***/ }), + +/***/ 39815: +/***/ (function(module, exports, __nccwpck_require__) { + +/* module decorator */ module = __nccwpck_require__.nmd(module); +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre-ES5 environments. */ + var undefined; + + /** Used as the semantic version number. */ + var VERSION = '4.17.21'; + + /** Used as the size to enable large array optimizations. */ + var LARGE_ARRAY_SIZE = 200; + + /** Error message constants. */ + var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', + FUNC_ERROR_TEXT = 'Expected a function', + INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; + + /** Used to stand-in for `undefined` hash values. */ + var HASH_UNDEFINED = '__lodash_hash_undefined__'; + + /** Used as the maximum memoize cache size. */ + var MAX_MEMOIZE_SIZE = 500; + + /** Used as the internal argument placeholder. */ + var PLACEHOLDER = '__lodash_placeholder__'; + + /** Used to compose bitmasks for cloning. */ + var CLONE_DEEP_FLAG = 1, + CLONE_FLAT_FLAG = 2, + CLONE_SYMBOLS_FLAG = 4; + + /** Used to compose bitmasks for value comparisons. */ + var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + + /** Used to compose bitmasks for function metadata. */ + var WRAP_BIND_FLAG = 1, + WRAP_BIND_KEY_FLAG = 2, + WRAP_CURRY_BOUND_FLAG = 4, + WRAP_CURRY_FLAG = 8, + WRAP_CURRY_RIGHT_FLAG = 16, + WRAP_PARTIAL_FLAG = 32, + WRAP_PARTIAL_RIGHT_FLAG = 64, + WRAP_ARY_FLAG = 128, + WRAP_REARG_FLAG = 256, + WRAP_FLIP_FLAG = 512; + + /** Used as default options for `_.truncate`. */ + var DEFAULT_TRUNC_LENGTH = 30, + DEFAULT_TRUNC_OMISSION = '...'; + + /** Used to detect hot functions by number of calls within a span of milliseconds. */ + var HOT_COUNT = 800, + HOT_SPAN = 16; + + /** Used to indicate the type of lazy iteratees. */ + var LAZY_FILTER_FLAG = 1, + LAZY_MAP_FLAG = 2, + LAZY_WHILE_FLAG = 3; + + /** Used as references for various `Number` constants. */ + var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + + /** Used as references for the maximum length and index of an array. */ + var MAX_ARRAY_LENGTH = 4294967295, + MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, + HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; + + /** Used to associate wrap methods with their bit flags. */ + var wrapFlags = [ + ['ary', WRAP_ARY_FLAG], + ['bind', WRAP_BIND_FLAG], + ['bindKey', WRAP_BIND_KEY_FLAG], + ['curry', WRAP_CURRY_FLAG], + ['curryRight', WRAP_CURRY_RIGHT_FLAG], + ['flip', WRAP_FLIP_FLAG], + ['partial', WRAP_PARTIAL_FLAG], + ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], + ['rearg', WRAP_REARG_FLAG] + ]; + + /** `Object#toString` result references. */ + var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + domExcTag = '[object DOMException]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + nullTag = '[object Null]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + undefinedTag = '[object Undefined]', + weakMapTag = '[object WeakMap]', + weakSetTag = '[object WeakSet]'; + + var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + + /** Used to match empty string literals in compiled template source. */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** Used to match HTML entities and HTML characters. */ + var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, + reUnescapedHtml = /[&<>"']/g, + reHasEscapedHtml = RegExp(reEscapedHtml.source), + reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** Used to match template delimiters. */ + var reEscape = /<%-([\s\S]+?)%>/g, + reEvaluate = /<%([\s\S]+?)%>/g, + reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to match property names within property paths. */ + var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + + /** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ + var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + + /** Used to match leading whitespace. */ + var reTrimStart = /^\s+/; + + /** Used to match a single whitespace character. */ + var reWhitespace = /\s/; + + /** Used to match wrap detail comments. */ + var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, + reSplitDetails = /,? & /; + + /** Used to match words composed of alphanumeric characters. */ + var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; + + /** + * Used to validate the `validate` option in `_.template` variable. + * + * Forbids characters which could potentially change the meaning of the function argument definition: + * - "()," (modification of function parameters) + * - "=" (default value) + * - "[]{}" (destructuring of function parameters) + * - "/" (beginning of a comment) + * - whitespace + */ + var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; + + /** Used to match backslashes in property paths. */ + var reEscapeChar = /\\(\\)?/g; + + /** + * Used to match + * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match `RegExp` flags from their coerced string values. */ + var reFlags = /\w*$/; + + /** Used to detect bad signed hexadecimal string values. */ + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + + /** Used to detect binary string values. */ + var reIsBinary = /^0b[01]+$/i; + + /** Used to detect host constructors (Safari). */ + var reIsHostCtor = /^\[object .+?Constructor\]$/; + + /** Used to detect octal string values. */ + var reIsOctal = /^0o[0-7]+$/i; + + /** Used to detect unsigned integer values. */ + var reIsUint = /^(?:0|[1-9]\d*)$/; + + /** Used to match Latin Unicode letters (excluding mathematical operators). */ + var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; + + /** Used to ensure capturing order of template delimiters. */ + var reNoMatch = /($^)/; + + /** Used to match unescaped characters in compiled string literals. */ + var reUnescapedString = /['\n\r\u2028\u2029\\]/g; + + /** Used to compose unicode character classes. */ + var rsAstralRange = '\\ud800-\\udfff', + rsComboMarksRange = '\\u0300-\\u036f', + reComboHalfMarksRange = '\\ufe20-\\ufe2f', + rsComboSymbolsRange = '\\u20d0-\\u20ff', + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsDingbatRange = '\\u2700-\\u27bf', + rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', + rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', + rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', + rsPunctuationRange = '\\u2000-\\u206f', + rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', + rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', + rsVarRange = '\\ufe0e\\ufe0f', + rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; + + /** Used to compose unicode capture groups. */ + var rsApos = "['\u2019]", + rsAstral = '[' + rsAstralRange + ']', + rsBreak = '[' + rsBreakRange + ']', + rsCombo = '[' + rsComboRange + ']', + rsDigits = '\\d+', + rsDingbat = '[' + rsDingbatRange + ']', + rsLower = '[' + rsLowerRange + ']', + rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', + rsFitz = '\\ud83c[\\udffb-\\udfff]', + rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', + rsNonAstral = '[^' + rsAstralRange + ']', + rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', + rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', + rsUpper = '[' + rsUpperRange + ']', + rsZWJ = '\\u200d'; + + /** Used to compose unicode regexes. */ + var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', + rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', + rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', + rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', + reOptMod = rsModifier + '?', + rsOptVar = '[' + rsVarRange + ']?', + rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', + rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', + rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', + rsSeq = rsOptVar + reOptMod + rsOptJoin, + rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, + rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; + + /** Used to match apostrophes. */ + var reApos = RegExp(rsApos, 'g'); + + /** + * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and + * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). + */ + var reComboMark = RegExp(rsCombo, 'g'); + + /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ + var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); + + /** Used to match complex or compound words. */ + var reUnicodeWord = RegExp([ + rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', + rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', + rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, + rsUpper + '+' + rsOptContrUpper, + rsOrdUpper, + rsOrdLower, + rsDigits, + rsEmoji + ].join('|'), 'g'); + + /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ + var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); + + /** Used to detect strings that need a more robust regexp to match words. */ + var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; + + /** Used to assign default `context` object properties. */ + var contextProps = [ + 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', + 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', + 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', + 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', + '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' + ]; + + /** Used to make template sourceURLs easier to identify. */ + var templateCounter = -1; + + /** Used to identify `toStringTag` values of typed arrays. */ + var typedArrayTags = {}; + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = + typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = + typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = + typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = + typedArrayTags[uint32Tag] = true; + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = + typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = + typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = + typedArrayTags[errorTag] = typedArrayTags[funcTag] = + typedArrayTags[mapTag] = typedArrayTags[numberTag] = + typedArrayTags[objectTag] = typedArrayTags[regexpTag] = + typedArrayTags[setTag] = typedArrayTags[stringTag] = + typedArrayTags[weakMapTag] = false; + + /** Used to identify `toStringTag` values supported by `_.clone`. */ + var cloneableTags = {}; + cloneableTags[argsTag] = cloneableTags[arrayTag] = + cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = + cloneableTags[boolTag] = cloneableTags[dateTag] = + cloneableTags[float32Tag] = cloneableTags[float64Tag] = + cloneableTags[int8Tag] = cloneableTags[int16Tag] = + cloneableTags[int32Tag] = cloneableTags[mapTag] = + cloneableTags[numberTag] = cloneableTags[objectTag] = + cloneableTags[regexpTag] = cloneableTags[setTag] = + cloneableTags[stringTag] = cloneableTags[symbolTag] = + cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = + cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; + cloneableTags[errorTag] = cloneableTags[funcTag] = + cloneableTags[weakMapTag] = false; + + /** Used to map Latin Unicode letters to basic Latin letters. */ + var deburredLetters = { + // Latin-1 Supplement block. + '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', + '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', + '\xc7': 'C', '\xe7': 'c', + '\xd0': 'D', '\xf0': 'd', + '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', + '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', + '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', + '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', + '\xd1': 'N', '\xf1': 'n', + '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', + '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', + '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', + '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', + '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', + '\xc6': 'Ae', '\xe6': 'ae', + '\xde': 'Th', '\xfe': 'th', + '\xdf': 'ss', + // Latin Extended-A block. + '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', + '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', + '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', + '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', + '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', + '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', + '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', + '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', + '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', + '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', + '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', + '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', + '\u0134': 'J', '\u0135': 'j', + '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', + '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', + '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', + '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', + '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', + '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', + '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', + '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', + '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', + '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', + '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', + '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', + '\u0163': 't', '\u0165': 't', '\u0167': 't', + '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', + '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', + '\u0174': 'W', '\u0175': 'w', + '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', + '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', + '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', + '\u0132': 'IJ', '\u0133': 'ij', + '\u0152': 'Oe', '\u0153': 'oe', + '\u0149': "'n", '\u017f': 's' + }; + + /** Used to map characters to HTML entities. */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to map HTML entities to characters. */ + var htmlUnescapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + ''': "'" + }; + + /** Used to escape characters for inclusion in compiled string literals. */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /** Built-in method references without a dependency on `root`. */ + var freeParseFloat = parseFloat, + freeParseInt = parseInt; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Detect free variable `exports`. */ + var freeExports = true && exports && !exports.nodeType && exports; + + /** Detect free variable `module`. */ + var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports`. */ + var moduleExports = freeModule && freeModule.exports === freeExports; + + /** Detect free variable `process` from Node.js. */ + var freeProcess = moduleExports && freeGlobal.process; + + /** Used to access faster Node.js helpers. */ + var nodeUtil = (function() { + try { + // Use `util.types` for Node.js 10+. + var types = freeModule && freeModule.require && freeModule.require('util').types; + + if (types) { + return types; + } + + // Legacy `process.binding('util')` for Node.js < 10. + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} + }()); + + /* Node.js helper references. */ + var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, + nodeIsDate = nodeUtil && nodeUtil.isDate, + nodeIsMap = nodeUtil && nodeUtil.isMap, + nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, + nodeIsSet = nodeUtil && nodeUtil.isSet, + nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + + /*--------------------------------------------------------------------------*/ + + /** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ + function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); + } + + /** + * A specialized version of `baseAggregator` for arrays. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function arrayAggregator(array, setter, iteratee, accumulator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + var value = array[index]; + setter(accumulator, value, iteratee(value), array); + } + return accumulator; + } + + /** + * A specialized version of `_.forEach` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEach(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (iteratee(array[index], index, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.forEachRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns `array`. + */ + function arrayEachRight(array, iteratee) { + var length = array == null ? 0 : array.length; + + while (length--) { + if (iteratee(array[length], length, array) === false) { + break; + } + } + return array; + } + + /** + * A specialized version of `_.every` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + */ + function arrayEvery(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (!predicate(array[index], index, array)) { + return false; + } + } + return true; + } + + /** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludes(array, value) { + var length = array == null ? 0 : array.length; + return !!length && baseIndexOf(array, value, 0) > -1; + } + + /** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ + function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; + } + + /** + * A specialized version of `_.map` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function arrayMap(array, iteratee) { + var index = -1, + length = array == null ? 0 : array.length, + result = Array(length); + + while (++index < length) { + result[index] = iteratee(array[index], index, array); + } + return result; + } + + /** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ + function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; + } + + /** + * A specialized version of `_.reduce` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the first element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduce(array, iteratee, accumulator, initAccum) { + var index = -1, + length = array == null ? 0 : array.length; + + if (initAccum && length) { + accumulator = array[++index]; + } + while (++index < length) { + accumulator = iteratee(accumulator, array[index], index, array); + } + return accumulator; + } + + /** + * A specialized version of `_.reduceRight` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @param {boolean} [initAccum] Specify using the last element of `array` as + * the initial value. + * @returns {*} Returns the accumulated value. + */ + function arrayReduceRight(array, iteratee, accumulator, initAccum) { + var length = array == null ? 0 : array.length; + if (initAccum && length) { + accumulator = array[--length]; + } + while (length--) { + accumulator = iteratee(accumulator, array[length], length, array); + } + return accumulator; + } + + /** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; + } + + /** + * Gets the size of an ASCII `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + var asciiSize = baseProperty('length'); + + /** + * Converts an ASCII `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function asciiToArray(string) { + return string.split(''); + } + + /** + * Splits an ASCII `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function asciiWords(string) { + return string.match(reAsciiWord) || []; + } + + /** + * The base implementation of methods like `_.findKey` and `_.findLastKey`, + * without support for iteratee shorthands, which iterates over `collection` + * using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the found element or its key, else `undefined`. + */ + function baseFindKey(collection, predicate, eachFunc) { + var result; + eachFunc(collection, function(value, key, collection) { + if (predicate(value, key, collection)) { + result = key; + return false; + } + }); + return result; + } + + /** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + return value === value + ? strictIndexOf(array, value, fromIndex) + : baseFindIndex(array, baseIsNaN, fromIndex); + } + + /** + * This function is like `baseIndexOf` except that it accepts a comparator. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @param {Function} comparator The comparator invoked per element. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function baseIndexOfWith(array, value, fromIndex, comparator) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (comparator(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ + function baseIsNaN(value) { + return value !== value; + } + + /** + * The base implementation of `_.mean` and `_.meanBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the mean. + */ + function baseMean(array, iteratee) { + var length = array == null ? 0 : array.length; + return length ? (baseSum(array, iteratee) / length) : NAN; + } + + /** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.propertyOf` without support for deep paths. + * + * @private + * @param {Object} object The object to query. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyOf(object) { + return function(key) { + return object == null ? undefined : object[key]; + }; + } + + /** + * The base implementation of `_.reduce` and `_.reduceRight`, without support + * for iteratee shorthands, which iterates over `collection` using `eachFunc`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {*} accumulator The initial value. + * @param {boolean} initAccum Specify using the first or last element of + * `collection` as the initial value. + * @param {Function} eachFunc The function to iterate over `collection`. + * @returns {*} Returns the accumulated value. + */ + function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { + eachFunc(collection, function(value, index, collection) { + accumulator = initAccum + ? (initAccum = false, value) + : iteratee(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.sortBy` which uses `comparer` to define the + * sort order of `array` and replaces criteria objects with their corresponding + * values. + * + * @private + * @param {Array} array The array to sort. + * @param {Function} comparer The function to define sort order. + * @returns {Array} Returns `array`. + */ + function baseSortBy(array, comparer) { + var length = array.length; + + array.sort(comparer); + while (length--) { + array[length] = array[length].value; + } + return array; + } + + /** + * The base implementation of `_.sum` and `_.sumBy` without support for + * iteratee shorthands. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {number} Returns the sum. + */ + function baseSum(array, iteratee) { + var result, + index = -1, + length = array.length; + + while (++index < length) { + var current = iteratee(array[index]); + if (current !== undefined) { + result = result === undefined ? current : (result + current); + } + } + return result; + } + + /** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ + function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; + } + + /** + * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array + * of key-value pairs for `object` corresponding to the property names of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the key-value pairs. + */ + function baseToPairs(object, props) { + return arrayMap(props, function(key) { + return [key, object[key]]; + }); + } + + /** + * The base implementation of `_.trim`. + * + * @private + * @param {string} string The string to trim. + * @returns {string} Returns the trimmed string. + */ + function baseTrim(string) { + return string + ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') + : string; + } + + /** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ + function baseUnary(func) { + return function(value) { + return func(value); + }; + } + + /** + * The base implementation of `_.values` and `_.valuesIn` which creates an + * array of `object` property values corresponding to the property names + * of `props`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} props The property names to get values for. + * @returns {Object} Returns the array of property values. + */ + function baseValues(object, props) { + return arrayMap(props, function(key) { + return object[key]; + }); + } + + /** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function cacheHas(cache, key) { + return cache.has(key); + } + + /** + * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the first unmatched string symbol. + */ + function charsStartIndex(strSymbols, chrSymbols) { + var index = -1, + length = strSymbols.length; + + while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol + * that is not found in the character symbols. + * + * @private + * @param {Array} strSymbols The string symbols to inspect. + * @param {Array} chrSymbols The character symbols to find. + * @returns {number} Returns the index of the last unmatched string symbol. + */ + function charsEndIndex(strSymbols, chrSymbols) { + var index = strSymbols.length; + + while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} + return index; + } + + /** + * Gets the number of `placeholder` occurrences in `array`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} placeholder The placeholder to search for. + * @returns {number} Returns the placeholder count. + */ + function countHolders(array, placeholder) { + var length = array.length, + result = 0; + + while (length--) { + if (array[length] === placeholder) { + ++result; + } + } + return result; + } + + /** + * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A + * letters to basic Latin letters. + * + * @private + * @param {string} letter The matched letter to deburr. + * @returns {string} Returns the deburred letter. + */ + var deburrLetter = basePropertyOf(deburredLetters); + + /** + * Used by `_.escape` to convert characters to HTML entities. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + var escapeHtmlChar = basePropertyOf(htmlEscapes); + + /** + * Used by `_.template` to escape characters for inclusion in compiled string literals. + * + * @private + * @param {string} chr The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeStringChar(chr) { + return '\\' + stringEscapes[chr]; + } + + /** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function getValue(object, key) { + return object == null ? undefined : object[key]; + } + + /** + * Checks if `string` contains Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a symbol is found, else `false`. + */ + function hasUnicode(string) { + return reHasUnicode.test(string); + } + + /** + * Checks if `string` contains a word composed of Unicode symbols. + * + * @private + * @param {string} string The string to inspect. + * @returns {boolean} Returns `true` if a word is found, else `false`. + */ + function hasUnicodeWord(string) { + return reHasUnicodeWord.test(string); + } + + /** + * Converts `iterator` to an array. + * + * @private + * @param {Object} iterator The iterator to convert. + * @returns {Array} Returns the converted array. + */ + function iteratorToArray(iterator) { + var data, + result = []; + + while (!(data = iterator.next()).done) { + result.push(data.value); + } + return result; + } + + /** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ + function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; + } + + /** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ + function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; + } + + /** + * Replaces all `placeholder` elements in `array` with an internal placeholder + * and returns an array of their indexes. + * + * @private + * @param {Array} array The array to modify. + * @param {*} placeholder The placeholder to replace. + * @returns {Array} Returns the new array of placeholder indexes. + */ + function replaceHolders(array, placeholder) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value === placeholder || value === PLACEHOLDER) { + array[index] = PLACEHOLDER; + result[resIndex++] = index; + } + } + return result; + } + + /** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ + function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; + } + + /** + * Converts `set` to its value-value pairs. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the value-value pairs. + */ + function setToPairs(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = [value, value]; + }); + return result; + } + + /** + * A specialized version of `_.indexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictIndexOf(array, value, fromIndex) { + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * A specialized version of `_.lastIndexOf` which performs strict equality + * comparisons of values, i.e. `===`. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function strictLastIndexOf(array, value, fromIndex) { + var index = fromIndex + 1; + while (index--) { + if (array[index] === value) { + return index; + } + } + return index; + } + + /** + * Gets the number of symbols in `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the string size. + */ + function stringSize(string) { + return hasUnicode(string) + ? unicodeSize(string) + : asciiSize(string); + } + + /** + * Converts `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function stringToArray(string) { + return hasUnicode(string) + ? unicodeToArray(string) + : asciiToArray(string); + } + + /** + * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace + * character of `string`. + * + * @private + * @param {string} string The string to inspect. + * @returns {number} Returns the index of the last non-whitespace character. + */ + function trimmedEndIndex(string) { + var index = string.length; + + while (index-- && reWhitespace.test(string.charAt(index))) {} + return index; + } + + /** + * Used by `_.unescape` to convert HTML entities to characters. + * + * @private + * @param {string} chr The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ + var unescapeHtmlChar = basePropertyOf(htmlUnescapes); + + /** + * Gets the size of a Unicode `string`. + * + * @private + * @param {string} string The string inspect. + * @returns {number} Returns the string size. + */ + function unicodeSize(string) { + var result = reUnicode.lastIndex = 0; + while (reUnicode.test(string)) { + ++result; + } + return result; + } + + /** + * Converts a Unicode `string` to an array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the converted array. + */ + function unicodeToArray(string) { + return string.match(reUnicode) || []; + } + + /** + * Splits a Unicode `string` into an array of its words. + * + * @private + * @param {string} The string to inspect. + * @returns {Array} Returns the words of `string`. + */ + function unicodeWords(string) { + return string.match(reUnicodeWord) || []; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Create a new pristine `lodash` function using the `context` object. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Util + * @param {Object} [context=root] The context object. + * @returns {Function} Returns a new `lodash` function. + * @example + * + * _.mixin({ 'foo': _.constant('foo') }); + * + * var lodash = _.runInContext(); + * lodash.mixin({ 'bar': lodash.constant('bar') }); + * + * _.isFunction(_.foo); + * // => true + * _.isFunction(_.bar); + * // => false + * + * lodash.isFunction(lodash.foo); + * // => false + * lodash.isFunction(lodash.bar); + * // => true + * + * // Create a suped-up `defer` in Node.js. + * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; + */ + var runInContext = (function runInContext(context) { + context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); + + /** Built-in constructor references. */ + var Array = context.Array, + Date = context.Date, + Error = context.Error, + Function = context.Function, + Math = context.Math, + Object = context.Object, + RegExp = context.RegExp, + String = context.String, + TypeError = context.TypeError; + + /** Used for built-in method references. */ + var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + + /** Used to detect overreaching core-js shims. */ + var coreJsData = context['__core-js_shared__']; + + /** Used to resolve the decompiled source of functions. */ + var funcToString = funcProto.toString; + + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to generate unique IDs. */ + var idCounter = 0; + + /** Used to detect methods masquerading as native. */ + var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; + }()); + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var nativeObjectToString = objectProto.toString; + + /** Used to infer the `Object` constructor. */ + var objectCtorString = funcToString.call(Object); + + /** Used to restore the original `_` reference in `_.noConflict`. */ + var oldDash = root._; + + /** Used to detect if a method is native. */ + var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' + ); + + /** Built-in value references. */ + var Buffer = moduleExports ? context.Buffer : undefined, + Symbol = context.Symbol, + Uint8Array = context.Uint8Array, + allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, + getPrototype = overArg(Object.getPrototypeOf, Object), + objectCreate = Object.create, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice, + spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, + symIterator = Symbol ? Symbol.iterator : undefined, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + var defineProperty = (function() { + try { + var func = getNative(Object, 'defineProperty'); + func({}, '', {}); + return func; + } catch (e) {} + }()); + + /** Mocked built-ins. */ + var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, + ctxNow = Date && Date.now !== root.Date.now && Date.now, + ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeCeil = Math.ceil, + nativeFloor = Math.floor, + nativeGetSymbols = Object.getOwnPropertySymbols, + nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeIsFinite = context.isFinite, + nativeJoin = arrayProto.join, + nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max, + nativeMin = Math.min, + nativeNow = Date.now, + nativeParseInt = context.parseInt, + nativeRandom = Math.random, + nativeReverse = arrayProto.reverse; + + /* Built-in method references that are verified to be native. */ + var DataView = getNative(context, 'DataView'), + Map = getNative(context, 'Map'), + Promise = getNative(context, 'Promise'), + Set = getNative(context, 'Set'), + WeakMap = getNative(context, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + + /** Used to store function metadata. */ + var metaMap = WeakMap && new WeakMap; + + /** Used to lookup unminified function names. */ + var realNames = {}; + + /** Used to detect maps, sets, and weakmaps. */ + var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + + /** Used to convert symbols to primitives and strings. */ + var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps `value` to enable implicit method + * chain sequences. Methods that operate on and return arrays, collections, + * and functions can be chained together. Methods that retrieve a single value + * or may return a primitive value will automatically end the chain sequence + * and return the unwrapped value. Otherwise, the value must be unwrapped + * with `_#value`. + * + * Explicit chain sequences, which must be unwrapped with `_#value`, may be + * enabled using `_.chain`. + * + * The execution of chained methods is lazy, that is, it's deferred until + * `_#value` is implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. + * Shortcut fusion is an optimization to merge iteratee calls; this avoids + * the creation of intermediate arrays and can greatly reduce the number of + * iteratee executions. Sections of a chain sequence qualify for shortcut + * fusion if the section is applied to an array and iteratees accept only + * one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the `_#value` method is + * directly or indirectly included in the build. + * + * In addition to lodash methods, wrappers have `Array` and `String` methods. + * + * The wrapper `Array` methods are: + * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` + * + * The wrapper `String` methods are: + * `replace` and `split` + * + * The wrapper methods that support shortcut fusion are: + * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, + * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, + * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` + * + * The chainable wrapper methods are: + * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, + * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, + * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, + * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, + * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, + * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, + * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, + * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, + * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, + * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, + * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, + * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, + * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, + * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, + * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, + * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, + * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, + * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, + * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, + * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, + * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, + * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, + * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, + * `zipObject`, `zipObjectDeep`, and `zipWith` + * + * The wrapper methods that are **not** chainable by default are: + * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, + * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, + * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, + * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, + * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, + * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, + * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, + * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, + * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, + * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, + * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, + * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, + * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, + * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, + * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, + * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, + * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, + * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, + * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, + * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, + * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, + * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, + * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, + * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, + * `upperFirst`, `value`, and `words` + * + * @name _ + * @constructor + * @category Seq + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2, 3]); + * + * // Returns an unwrapped value. + * wrapped.reduce(_.add); + * // => 6 + * + * // Returns a wrapped value. + * var squares = wrapped.map(square); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { + if (value instanceof LodashWrapper) { + return value; + } + if (hasOwnProperty.call(value, '__wrapped__')) { + return wrapperClone(value); + } + } + return new LodashWrapper(value); + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} proto The object to inherit from. + * @returns {Object} Returns the new object. + */ + var baseCreate = (function() { + function object() {} + return function(proto) { + if (!isObject(proto)) { + return {}; + } + if (objectCreate) { + return objectCreate(proto); + } + object.prototype = proto; + var result = new object; + object.prototype = undefined; + return result; + }; + }()); + + /** + * The function whose prototype chain sequence wrappers inherit from. + * + * @private + */ + function baseLodash() { + // No operation performed. + } + + /** + * The base constructor for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap. + * @param {boolean} [chainAll] Enable explicit method chain sequences. + */ + function LodashWrapper(value, chainAll) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__chain__ = !!chainAll; + this.__index__ = 0; + this.__values__ = undefined; + } + + /** + * By default, the template delimiters used by lodash are like those in + * embedded Ruby (ERB) as well as ES2015 template strings. Change the + * following template settings to use alternative delimiters. + * + * @static + * @memberOf _ + * @type {Object} + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'escape': reEscape, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'evaluate': reEvaluate, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type {RegExp} + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type {string} + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type {Object} + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type {Function} + */ + '_': lodash + } + }; + + // Ensure wrappers are instances of `baseLodash`. + lodash.prototype = baseLodash.prototype; + lodash.prototype.constructor = lodash; + + LodashWrapper.prototype = baseCreate(baseLodash.prototype); + LodashWrapper.prototype.constructor = LodashWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. + * + * @private + * @constructor + * @param {*} value The value to wrap. + */ + function LazyWrapper(value) { + this.__wrapped__ = value; + this.__actions__ = []; + this.__dir__ = 1; + this.__filtered__ = false; + this.__iteratees__ = []; + this.__takeCount__ = MAX_ARRAY_LENGTH; + this.__views__ = []; + } + + /** + * Creates a clone of the lazy wrapper object. + * + * @private + * @name clone + * @memberOf LazyWrapper + * @returns {Object} Returns the cloned `LazyWrapper` object. + */ + function lazyClone() { + var result = new LazyWrapper(this.__wrapped__); + result.__actions__ = copyArray(this.__actions__); + result.__dir__ = this.__dir__; + result.__filtered__ = this.__filtered__; + result.__iteratees__ = copyArray(this.__iteratees__); + result.__takeCount__ = this.__takeCount__; + result.__views__ = copyArray(this.__views__); + return result; + } + + /** + * Reverses the direction of lazy iteration. + * + * @private + * @name reverse + * @memberOf LazyWrapper + * @returns {Object} Returns the new reversed `LazyWrapper` object. + */ + function lazyReverse() { + if (this.__filtered__) { + var result = new LazyWrapper(this); + result.__dir__ = -1; + result.__filtered__ = true; + } else { + result = this.clone(); + result.__dir__ *= -1; + } + return result; + } + + /** + * Extracts the unwrapped value from its lazy wrapper. + * + * @private + * @name value + * @memberOf LazyWrapper + * @returns {*} Returns the unwrapped value. + */ + function lazyValue() { + var array = this.__wrapped__.value(), + dir = this.__dir__, + isArr = isArray(array), + isRight = dir < 0, + arrLength = isArr ? array.length : 0, + view = getView(0, arrLength, this.__views__), + start = view.start, + end = view.end, + length = end - start, + index = isRight ? end : (start - 1), + iteratees = this.__iteratees__, + iterLength = iteratees.length, + resIndex = 0, + takeCount = nativeMin(length, this.__takeCount__); + + if (!isArr || (!isRight && arrLength == length && takeCount == length)) { + return baseWrapperValue(array, this.__actions__); + } + var result = []; + + outer: + while (length-- && resIndex < takeCount) { + index += dir; + + var iterIndex = -1, + value = array[index]; + + while (++iterIndex < iterLength) { + var data = iteratees[iterIndex], + iteratee = data.iteratee, + type = data.type, + computed = iteratee(value); + + if (type == LAZY_MAP_FLAG) { + value = computed; + } else if (!computed) { + if (type == LAZY_FILTER_FLAG) { + continue outer; + } else { + break outer; + } + } + } + result[resIndex++] = value; + } + return result; + } + + // Ensure `LazyWrapper` is an instance of `baseLodash`. + LazyWrapper.prototype = baseCreate(baseLodash.prototype); + LazyWrapper.prototype.constructor = LazyWrapper; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ + function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; + } + + /** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; + } + + /** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); + } + + /** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ + function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; + } + + // Add methods to `Hash`. + Hash.prototype.clear = hashClear; + Hash.prototype['delete'] = hashDelete; + Hash.prototype.get = hashGet; + Hash.prototype.has = hashHas; + Hash.prototype.set = hashSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ + function listCacheClear() { + this.__data__ = []; + this.size = 0; + } + + /** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; + } + + /** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; + } + + /** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; + } + + /** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ + function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; + } + + // Add methods to `ListCache`. + ListCache.prototype.clear = listCacheClear; + ListCache.prototype['delete'] = listCacheDelete; + ListCache.prototype.get = listCacheGet; + ListCache.prototype.has = listCacheHas; + ListCache.prototype.set = listCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } + } + + /** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ + function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; + } + + /** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; + } + + /** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function mapCacheGet(key) { + return getMapData(this, key).get(key); + } + + /** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function mapCacheHas(key) { + return getMapData(this, key).has(key); + } + + /** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ + function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; + } + + // Add methods to `MapCache`. + MapCache.prototype.clear = mapCacheClear; + MapCache.prototype['delete'] = mapCacheDelete; + MapCache.prototype.get = mapCacheGet; + MapCache.prototype.has = mapCacheHas; + MapCache.prototype.set = mapCacheSet; + + /*------------------------------------------------------------------------*/ + + /** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ + function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } + } + + /** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ + function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; + } + + /** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ + function setCacheHas(value) { + return this.__data__.has(value); + } + + // Add methods to `SetCache`. + SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; + SetCache.prototype.has = setCacheHas; + + /*------------------------------------------------------------------------*/ + + /** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ + function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; + } + + /** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ + function stackClear() { + this.__data__ = new ListCache; + this.size = 0; + } + + /** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ + function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; + } + + /** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ + function stackGet(key) { + return this.__data__.get(key); + } + + /** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ + function stackHas(key) { + return this.__data__.has(key); + } + + /** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ + function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; + } + + // Add methods to `Stack`. + Stack.prototype.clear = stackClear; + Stack.prototype['delete'] = stackDelete; + Stack.prototype.get = stackGet; + Stack.prototype.has = stackHas; + Stack.prototype.set = stackSet; + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ + function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; + } + + /** + * A specialized version of `_.sample` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @returns {*} Returns the random element. + */ + function arraySample(array) { + var length = array.length; + return length ? array[baseRandom(0, length - 1)] : undefined; + } + + /** + * A specialized version of `_.sampleSize` for arrays. + * + * @private + * @param {Array} array The array to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function arraySampleSize(array, n) { + return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); + } + + /** + * A specialized version of `_.shuffle` for arrays. + * + * @private + * @param {Array} array The array to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function arrayShuffle(array) { + return shuffleSelf(copyArray(array)); + } + + /** + * This function is like `assignValue` except that it doesn't assign + * `undefined` values. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignMergeValue(object, key, value) { + if ((value !== undefined && !eq(object[key], value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + baseAssignValue(object, key, value); + } + } + + /** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ + function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; + } + + /** + * Aggregates elements of `collection` on `accumulator` with keys transformed + * by `iteratee` and values set by `setter`. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform keys. + * @param {Object} accumulator The initial aggregated object. + * @returns {Function} Returns `accumulator`. + */ + function baseAggregator(collection, setter, iteratee, accumulator) { + baseEach(collection, function(value, key, collection) { + setter(accumulator, value, iteratee(value), collection); + }); + return accumulator; + } + + /** + * The base implementation of `_.assign` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssign(object, source) { + return object && copyObject(source, keys(source), object); + } + + /** + * The base implementation of `_.assignIn` without support for multiple sources + * or `customizer` functions. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @returns {Object} Returns `object`. + */ + function baseAssignIn(object, source) { + return object && copyObject(source, keysIn(source), object); + } + + /** + * The base implementation of `assignValue` and `assignMergeValue` without + * value checks. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ + function baseAssignValue(object, key, value) { + if (key == '__proto__' && defineProperty) { + defineProperty(object, key, { + 'configurable': true, + 'enumerable': true, + 'value': value, + 'writable': true + }); + } else { + object[key] = value; + } + } + + /** + * The base implementation of `_.at` without support for individual paths. + * + * @private + * @param {Object} object The object to iterate over. + * @param {string[]} paths The property paths to pick. + * @returns {Array} Returns the picked elements. + */ + function baseAt(object, paths) { + var index = -1, + length = paths.length, + result = Array(length), + skip = object == null; + + while (++index < length) { + result[index] = skip ? undefined : get(object, paths[index]); + } + return result; + } + + /** + * The base implementation of `_.clamp` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + */ + function baseClamp(number, lower, upper) { + if (number === number) { + if (upper !== undefined) { + number = number <= upper ? number : upper; + } + if (lower !== undefined) { + number = number >= lower ? number : lower; + } + } + return number; + } + + /** + * The base implementation of `_.clone` and `_.cloneDeep` which tracks + * traversed objects. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} bitmask The bitmask flags. + * 1 - Deep clone + * 2 - Flatten inherited properties + * 4 - Clone symbols + * @param {Function} [customizer] The function to customize cloning. + * @param {string} [key] The key of `value`. + * @param {Object} [object] The parent object of `value`. + * @param {Object} [stack] Tracks traversed objects and their clone counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, bitmask, customizer, key, object, stack) { + var result, + isDeep = bitmask & CLONE_DEEP_FLAG, + isFlat = bitmask & CLONE_FLAT_FLAG, + isFull = bitmask & CLONE_SYMBOLS_FLAG; + + if (customizer) { + result = object ? customizer(value, key, object, stack) : customizer(value); + } + if (result !== undefined) { + return result; + } + if (!isObject(value)) { + return value; + } + var isArr = isArray(value); + if (isArr) { + result = initCloneArray(value); + if (!isDeep) { + return copyArray(value, result); + } + } else { + var tag = getTag(value), + isFunc = tag == funcTag || tag == genTag; + + if (isBuffer(value)) { + return cloneBuffer(value, isDeep); + } + if (tag == objectTag || tag == argsTag || (isFunc && !object)) { + result = (isFlat || isFunc) ? {} : initCloneObject(value); + if (!isDeep) { + return isFlat + ? copySymbolsIn(value, baseAssignIn(result, value)) + : copySymbols(value, baseAssign(result, value)); + } + } else { + if (!cloneableTags[tag]) { + return object ? value : {}; + } + result = initCloneByTag(value, tag, isDeep); + } + } + // Check for circular references and return its corresponding clone. + stack || (stack = new Stack); + var stacked = stack.get(value); + if (stacked) { + return stacked; + } + stack.set(value, result); + + if (isSet(value)) { + value.forEach(function(subValue) { + result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); + }); + } else if (isMap(value)) { + value.forEach(function(subValue, key) { + result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + } + + var keysFunc = isFull + ? (isFlat ? getAllKeysIn : getAllKeys) + : (isFlat ? keysIn : keys); + + var props = isArr ? undefined : keysFunc(value); + arrayEach(props || value, function(subValue, key) { + if (props) { + key = subValue; + subValue = value[key]; + } + // Recursively populate clone (susceptible to call stack limits). + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); + }); + return result; + } + + /** + * The base implementation of `_.conforms` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property predicates to conform to. + * @returns {Function} Returns the new spec function. + */ + function baseConforms(source) { + var props = keys(source); + return function(object) { + return baseConformsTo(object, source, props); + }; + } + + /** + * The base implementation of `_.conformsTo` which accepts `props` to check. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + */ + function baseConformsTo(object, source, props) { + var length = props.length; + if (object == null) { + return !length; + } + object = Object(object); + while (length--) { + var key = props[length], + predicate = source[key], + value = object[key]; + + if ((value === undefined && !(key in object)) || !predicate(value)) { + return false; + } + } + return true; + } + + /** + * The base implementation of `_.delay` and `_.defer` which accepts `args` + * to provide to `func`. + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {Array} args The arguments to provide to `func`. + * @returns {number|Object} Returns the timer id or timeout object. + */ + function baseDelay(func, wait, args) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * The base implementation of methods like `_.difference` without support + * for excluding multiple arrays or iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Array} values The values to exclude. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + */ + function baseDifference(array, values, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + isCommon = true, + length = array.length, + result = [], + valuesLength = values.length; + + if (!length) { + return result; + } + if (iteratee) { + values = arrayMap(values, baseUnary(iteratee)); + } + if (comparator) { + includes = arrayIncludesWith; + isCommon = false; + } + else if (values.length >= LARGE_ARRAY_SIZE) { + includes = cacheHas; + isCommon = false; + values = new SetCache(values); + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee == null ? value : iteratee(value); + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var valuesIndex = valuesLength; + while (valuesIndex--) { + if (values[valuesIndex] === computed) { + continue outer; + } + } + result.push(value); + } + else if (!includes(values, computed, comparator)) { + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEach = createBaseEach(baseForOwn); + + /** + * The base implementation of `_.forEachRight` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ + var baseEachRight = createBaseEach(baseForOwnRight, true); + + /** + * The base implementation of `_.every` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false` + */ + function baseEvery(collection, predicate) { + var result = true; + baseEach(collection, function(value, index, collection) { + result = !!predicate(value, index, collection); + return result; + }); + return result; + } + + /** + * The base implementation of methods like `_.max` and `_.min` which accepts a + * `comparator` to determine the extremum value. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} iteratee The iteratee invoked per iteration. + * @param {Function} comparator The comparator used to compare values. + * @returns {*} Returns the extremum value. + */ + function baseExtremum(array, iteratee, comparator) { + var index = -1, + length = array.length; + + while (++index < length) { + var value = array[index], + current = iteratee(value); + + if (current != null && (computed === undefined + ? (current === current && !isSymbol(current)) + : comparator(current, computed) + )) { + var computed = current, + result = value; + } + } + return result; + } + + /** + * The base implementation of `_.fill` without an iteratee call guard. + * + * @private + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + */ + function baseFill(array, value, start, end) { + var length = array.length; + + start = toInteger(start); + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = (end === undefined || end > length) ? length : toInteger(end); + if (end < 0) { + end += length; + } + end = start > end ? 0 : toLength(end); + while (start < end) { + array[start++] = value; + } + return array; + } + + /** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ + function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; + } + + /** + * The base implementation of `_.flatten` with support for restricting flattening. + * + * @private + * @param {Array} array The array to flatten. + * @param {number} depth The maximum recursion depth. + * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. + * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. + * @param {Array} [result=[]] The initial result value. + * @returns {Array} Returns the new flattened array. + */ + function baseFlatten(array, depth, predicate, isStrict, result) { + var index = -1, + length = array.length; + + predicate || (predicate = isFlattenable); + result || (result = []); + + while (++index < length) { + var value = array[index]; + if (depth > 0 && predicate(value)) { + if (depth > 1) { + // Recursively flatten arrays (susceptible to call stack limits). + baseFlatten(value, depth - 1, predicate, isStrict, result); + } else { + arrayPush(result, value); + } + } else if (!isStrict) { + result[result.length] = value; + } + } + return result; + } + + /** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseFor = createBaseFor(); + + /** + * This function is like `baseFor` except that it iterates over properties + * in the opposite order. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ + var baseForRight = createBaseFor(true); + + /** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); + } + + /** + * The base implementation of `_.forOwnRight` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ + function baseForOwnRight(object, iteratee) { + return object && baseForRight(object, iteratee, keys); + } + + /** + * The base implementation of `_.functions` which creates an array of + * `object` function property names filtered from `props`. + * + * @private + * @param {Object} object The object to inspect. + * @param {Array} props The property names to filter. + * @returns {Array} Returns the function names. + */ + function baseFunctions(object, props) { + return arrayFilter(props, function(key) { + return isFunction(object[key]); + }); + } + + /** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ + function baseGet(object, path) { + path = castPath(path, object); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; + } + + /** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ + function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); + } + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); + } + + /** + * The base implementation of `_.gt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + */ + function baseGt(value, other) { + return value > other; + } + + /** + * The base implementation of `_.has` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHas(object, key) { + return object != null && hasOwnProperty.call(object, key); + } + + /** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ + function baseHasIn(object, key) { + return object != null && key in Object(object); + } + + /** + * The base implementation of `_.inRange` which doesn't coerce arguments. + * + * @private + * @param {number} number The number to check. + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + */ + function baseInRange(number, start, end) { + return number >= nativeMin(start, end) && number < nativeMax(start, end); + } + + /** + * The base implementation of methods like `_.intersection`, without support + * for iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of shared values. + */ + function baseIntersection(arrays, iteratee, comparator) { + var includes = comparator ? arrayIncludesWith : arrayIncludes, + length = arrays[0].length, + othLength = arrays.length, + othIndex = othLength, + caches = Array(othLength), + maxLength = Infinity, + result = []; + + while (othIndex--) { + var array = arrays[othIndex]; + if (othIndex && iteratee) { + array = arrayMap(array, baseUnary(iteratee)); + } + maxLength = nativeMin(array.length, maxLength); + caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) + ? new SetCache(othIndex && array) + : undefined; + } + array = arrays[0]; + + var index = -1, + seen = caches[0]; + + outer: + while (++index < length && result.length < maxLength) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (!(seen + ? cacheHas(seen, computed) + : includes(result, computed, comparator) + )) { + othIndex = othLength; + while (--othIndex) { + var cache = caches[othIndex]; + if (!(cache + ? cacheHas(cache, computed) + : includes(arrays[othIndex], computed, comparator)) + ) { + continue outer; + } + } + if (seen) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.invert` and `_.invertBy` which inverts + * `object` with values transformed by `iteratee` and set by `setter`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} setter The function to set `accumulator` values. + * @param {Function} iteratee The iteratee to transform values. + * @param {Object} accumulator The initial inverted object. + * @returns {Function} Returns `accumulator`. + */ + function baseInverter(object, setter, iteratee, accumulator) { + baseForOwn(object, function(value, key, object) { + setter(accumulator, iteratee(value), key, object); + }); + return accumulator; + } + + /** + * The base implementation of `_.invoke` without support for individual + * method arguments. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {Array} args The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + */ + function baseInvoke(object, path, args) { + path = castPath(path, object); + object = parent(object, path); + var func = object == null ? object : object[toKey(last(path))]; + return func == null ? undefined : apply(func, object, args); + } + + /** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ + function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; + } + + /** + * The base implementation of `_.isArrayBuffer` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + */ + function baseIsArrayBuffer(value) { + return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; + } + + /** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ + function baseIsDate(value) { + return isObjectLike(value) && baseGetTag(value) == dateTag; + } + + /** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); + } + + /** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); + } + + /** + * The base implementation of `_.isMap` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + */ + function baseIsMap(value) { + return isObjectLike(value) && getTag(value) == mapTag; + } + + /** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ + function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) + : result + )) { + return false; + } + } + } + return true; + } + + /** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ + function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); + } + + /** + * The base implementation of `_.isRegExp` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + */ + function baseIsRegExp(value) { + return isObjectLike(value) && baseGetTag(value) == regexpTag; + } + + /** + * The base implementation of `_.isSet` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + */ + function baseIsSet(value) { + return isObjectLike(value) && getTag(value) == setTag; + } + + /** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ + function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; + } + + /** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ + function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); + } + + /** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function baseKeysIn(object) { + if (!isObject(object)) { + return nativeKeysIn(object); + } + var isProto = isPrototype(object), + result = []; + + for (var key in object) { + if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { + result.push(key); + } + } + return result; + } + + /** + * The base implementation of `_.lt` which doesn't coerce arguments. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + */ + function baseLt(value, other) { + return value < other; + } + + /** + * The base implementation of `_.map` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + */ + function baseMap(collection, iteratee) { + var index = -1, + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value, key, collection) { + result[++index] = iteratee(value, key, collection); + }); + return result; + } + + /** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; + } + + /** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); + }; + } + + /** + * The base implementation of `_.merge` without support for multiple sources. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {number} srcIndex The index of `source`. + * @param {Function} [customizer] The function to customize merged values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMerge(object, source, srcIndex, customizer, stack) { + if (object === source) { + return; + } + baseFor(source, function(srcValue, key) { + stack || (stack = new Stack); + if (isObject(srcValue)) { + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); + } + else { + var newValue = customizer + ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) + : undefined; + + if (newValue === undefined) { + newValue = srcValue; + } + assignMergeValue(object, key, newValue); + } + }, keysIn); + } + + /** + * A specialized version of `baseMerge` for arrays and objects which performs + * deep merges and tracks traversed objects enabling objects with circular + * references to be merged. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {string} key The key of the value to merge. + * @param {number} srcIndex The index of `source`. + * @param {Function} mergeFunc The function to merge values. + * @param {Function} [customizer] The function to customize assigned values. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + */ + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { + var objValue = safeGet(object, key), + srcValue = safeGet(source, key), + stacked = stack.get(srcValue); + + if (stacked) { + assignMergeValue(object, key, stacked); + return; + } + var newValue = customizer + ? customizer(objValue, srcValue, (key + ''), object, source, stack) + : undefined; + + var isCommon = newValue === undefined; + + if (isCommon) { + var isArr = isArray(srcValue), + isBuff = !isArr && isBuffer(srcValue), + isTyped = !isArr && !isBuff && isTypedArray(srcValue); + + newValue = srcValue; + if (isArr || isBuff || isTyped) { + if (isArray(objValue)) { + newValue = objValue; + } + else if (isArrayLikeObject(objValue)) { + newValue = copyArray(objValue); + } + else if (isBuff) { + isCommon = false; + newValue = cloneBuffer(srcValue, true); + } + else if (isTyped) { + isCommon = false; + newValue = cloneTypedArray(srcValue, true); + } + else { + newValue = []; + } + } + else if (isPlainObject(srcValue) || isArguments(srcValue)) { + newValue = objValue; + if (isArguments(objValue)) { + newValue = toPlainObject(objValue); + } + else if (!isObject(objValue) || isFunction(objValue)) { + newValue = initCloneObject(srcValue); + } + } + else { + isCommon = false; + } + } + if (isCommon) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, newValue); + mergeFunc(newValue, srcValue, srcIndex, customizer, stack); + stack['delete'](srcValue); + } + assignMergeValue(object, key, newValue); + } + + /** + * The base implementation of `_.nth` which doesn't coerce arguments. + * + * @private + * @param {Array} array The array to query. + * @param {number} n The index of the element to return. + * @returns {*} Returns the nth element of `array`. + */ + function baseNth(array, n) { + var length = array.length; + if (!length) { + return; + } + n += n < 0 ? length : 0; + return isIndex(n, length) ? array[n] : undefined; + } + + /** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. + * @param {string[]} orders The sort orders of `iteratees`. + * @returns {Array} Returns the new sorted array. + */ + function baseOrderBy(collection, iteratees, orders) { + if (iteratees.length) { + iteratees = arrayMap(iteratees, function(iteratee) { + if (isArray(iteratee)) { + return function(value) { + return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); + } + } + return iteratee; + }); + } else { + iteratees = [identity]; + } + + var index = -1; + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); + } + + /** + * The base implementation of `_.pick` without support for individual + * property identifiers. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @returns {Object} Returns the new object. + */ + function basePick(object, paths) { + return basePickBy(object, paths, function(value, path) { + return hasIn(object, path); + }); + } + + /** + * The base implementation of `_.pickBy` without support for iteratee shorthands. + * + * @private + * @param {Object} object The source object. + * @param {string[]} paths The property paths to pick. + * @param {Function} predicate The function invoked per property. + * @returns {Object} Returns the new object. + */ + function basePickBy(object, paths, predicate) { + var index = -1, + length = paths.length, + result = {}; + + while (++index < length) { + var path = paths[index], + value = baseGet(object, path); + + if (predicate(value, path)) { + baseSet(result, castPath(path, object), value); + } + } + return result; + } + + /** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ + function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; + } + + /** + * The base implementation of `_.pullAllBy` without support for iteratee + * shorthands. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + */ + function basePullAll(array, values, iteratee, comparator) { + var indexOf = comparator ? baseIndexOfWith : baseIndexOf, + index = -1, + length = values.length, + seen = array; + + if (array === values) { + values = copyArray(values); + } + if (iteratee) { + seen = arrayMap(array, baseUnary(iteratee)); + } + while (++index < length) { + var fromIndex = 0, + value = values[index], + computed = iteratee ? iteratee(value) : value; + + while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { + if (seen !== array) { + splice.call(seen, fromIndex, 1); + } + splice.call(array, fromIndex, 1); + } + } + return array; + } + + /** + * The base implementation of `_.pullAt` without support for individual + * indexes or capturing the removed elements. + * + * @private + * @param {Array} array The array to modify. + * @param {number[]} indexes The indexes of elements to remove. + * @returns {Array} Returns `array`. + */ + function basePullAt(array, indexes) { + var length = array ? indexes.length : 0, + lastIndex = length - 1; + + while (length--) { + var index = indexes[length]; + if (length == lastIndex || index !== previous) { + var previous = index; + if (isIndex(index)) { + splice.call(array, index, 1); + } else { + baseUnset(array, index); + } + } + } + return array; + } + + /** + * The base implementation of `_.random` without support for returning + * floating-point numbers. + * + * @private + * @param {number} lower The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the random number. + */ + function baseRandom(lower, upper) { + return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); + } + + /** + * The base implementation of `_.range` and `_.rangeRight` which doesn't + * coerce arguments. + * + * @private + * @param {number} start The start of the range. + * @param {number} end The end of the range. + * @param {number} step The value to increment or decrement by. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the range of numbers. + */ + function baseRange(start, end, step, fromRight) { + var index = -1, + length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), + result = Array(length); + + while (length--) { + result[fromRight ? length : ++index] = start; + start += step; + } + return result; + } + + /** + * The base implementation of `_.repeat` which doesn't coerce arguments. + * + * @private + * @param {string} string The string to repeat. + * @param {number} n The number of times to repeat the string. + * @returns {string} Returns the repeated string. + */ + function baseRepeat(string, n) { + var result = ''; + if (!string || n < 1 || n > MAX_SAFE_INTEGER) { + return result; + } + // Leverage the exponentiation by squaring algorithm for a faster repeat. + // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. + do { + if (n % 2) { + result += string; + } + n = nativeFloor(n / 2); + if (n) { + string += string; + } + } while (n); + + return result; + } + + /** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ + function baseRest(func, start) { + return setToString(overRest(func, start, identity), func + ''); + } + + /** + * The base implementation of `_.sample`. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + */ + function baseSample(collection) { + return arraySample(values(collection)); + } + + /** + * The base implementation of `_.sampleSize` without param guards. + * + * @private + * @param {Array|Object} collection The collection to sample. + * @param {number} n The number of elements to sample. + * @returns {Array} Returns the random elements. + */ + function baseSampleSize(collection, n) { + var array = values(collection); + return shuffleSelf(array, baseClamp(n, 0, array.length)); + } + + /** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = castPath(path, object); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + return object; + } + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; + } + + /** + * The base implementation of `setData` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var baseSetData = !metaMap ? identity : function(func, data) { + metaMap.set(func, data); + return func; + }; + + /** + * The base implementation of `setToString` without support for hot loop shorting. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var baseSetToString = !defineProperty ? identity : function(func, string) { + return defineProperty(func, 'toString', { + 'configurable': true, + 'enumerable': false, + 'value': constant(string), + 'writable': true + }); + }; + + /** + * The base implementation of `_.shuffle`. + * + * @private + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + */ + function baseShuffle(collection) { + return shuffleSelf(values(collection)); + } + + /** + * The base implementation of `_.slice` without an iteratee call guard. + * + * @private + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function baseSlice(array, start, end) { + var index = -1, + length = array.length; + + if (start < 0) { + start = -start > length ? 0 : (length + start); + } + end = end > length ? length : end; + if (end < 0) { + end += length; + } + length = start > end ? 0 : ((end - start) >>> 0); + start >>>= 0; + + var result = Array(length); + while (++index < length) { + result[index] = array[index + start]; + } + return result; + } + + /** + * The base implementation of `_.some` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ + function baseSome(collection, predicate) { + var result; + + baseEach(collection, function(value, index, collection) { + result = predicate(value, index, collection); + return !result; + }); + return !!result; + } + + /** + * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which + * performs a binary search of `array` to determine the index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndex(array, value, retHighest) { + var low = 0, + high = array == null ? low : array.length; + + if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { + while (low < high) { + var mid = (low + high) >>> 1, + computed = array[mid]; + + if (computed !== null && !isSymbol(computed) && + (retHighest ? (computed <= value) : (computed < value))) { + low = mid + 1; + } else { + high = mid; + } + } + return high; + } + return baseSortedIndexBy(array, value, identity, retHighest); + } + + /** + * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` + * which invokes `iteratee` for `value` and each element of `array` to compute + * their sort ranking. The iteratee is invoked with one argument; (value). + * + * @private + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} iteratee The iteratee invoked per element. + * @param {boolean} [retHighest] Specify returning the highest qualified index. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + */ + function baseSortedIndexBy(array, value, iteratee, retHighest) { + var low = 0, + high = array == null ? 0 : array.length; + if (high === 0) { + return 0; + } + + value = iteratee(value); + var valIsNaN = value !== value, + valIsNull = value === null, + valIsSymbol = isSymbol(value), + valIsUndefined = value === undefined; + + while (low < high) { + var mid = nativeFloor((low + high) / 2), + computed = iteratee(array[mid]), + othIsDefined = computed !== undefined, + othIsNull = computed === null, + othIsReflexive = computed === computed, + othIsSymbol = isSymbol(computed); + + if (valIsNaN) { + var setLow = retHighest || othIsReflexive; + } else if (valIsUndefined) { + setLow = othIsReflexive && (retHighest || othIsDefined); + } else if (valIsNull) { + setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); + } else if (valIsSymbol) { + setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); + } else if (othIsNull || othIsSymbol) { + setLow = false; + } else { + setLow = retHighest ? (computed <= value) : (computed < value); + } + if (setLow) { + low = mid + 1; + } else { + high = mid; + } + } + return nativeMin(high, MAX_ARRAY_INDEX); + } + + /** + * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseSortedUniq(array, iteratee) { + var index = -1, + length = array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + if (!index || !eq(computed, seen)) { + var seen = computed; + result[resIndex++] = value === 0 ? 0 : value; + } + } + return result; + } + + /** + * The base implementation of `_.toNumber` which doesn't ensure correct + * conversions of binary, hexadecimal, or octal string values. + * + * @private + * @param {*} value The value to process. + * @returns {number} Returns the number. + */ + function baseToNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + return +value; + } + + /** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ + function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isArray(value)) { + // Recursively convert values (susceptible to call stack limits). + return arrayMap(value, baseToString) + ''; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ + function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.unset`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The property path to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + */ + function baseUnset(object, path) { + path = castPath(path, object); + object = parent(object, path); + return object == null || delete object[toKey(last(path))]; + } + + /** + * The base implementation of `_.update`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to update. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ + function baseUpdate(object, path, updater, customizer) { + return baseSet(object, path, updater(baseGet(object, path)), customizer); + } + + /** + * The base implementation of methods like `_.dropWhile` and `_.takeWhile` + * without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to query. + * @param {Function} predicate The function invoked per iteration. + * @param {boolean} [isDrop] Specify dropping elements instead of taking them. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Array} Returns the slice of `array`. + */ + function baseWhile(array, predicate, isDrop, fromRight) { + var length = array.length, + index = fromRight ? length : -1; + + while ((fromRight ? index-- : ++index < length) && + predicate(array[index], index, array)) {} + + return isDrop + ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) + : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); + } + + /** + * The base implementation of `wrapperValue` which returns the result of + * performing a sequence of actions on the unwrapped `value`, where each + * successive action is supplied the return value of the previous. + * + * @private + * @param {*} value The unwrapped value. + * @param {Array} actions Actions to perform to resolve the unwrapped value. + * @returns {*} Returns the resolved value. + */ + function baseWrapperValue(value, actions) { + var result = value; + if (result instanceof LazyWrapper) { + result = result.value(); + } + return arrayReduce(actions, function(result, action) { + return action.func.apply(action.thisArg, arrayPush([result], action.args)); + }, result); + } + + /** + * The base implementation of methods like `_.xor`, without support for + * iteratee shorthands, that accepts an array of arrays to inspect. + * + * @private + * @param {Array} arrays The arrays to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of values. + */ + function baseXor(arrays, iteratee, comparator) { + var length = arrays.length; + if (length < 2) { + return length ? baseUniq(arrays[0]) : []; + } + var index = -1, + result = Array(length); + + while (++index < length) { + var array = arrays[index], + othIndex = -1; + + while (++othIndex < length) { + if (othIndex != index) { + result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); + } + } + } + return baseUniq(baseFlatten(result, 1), iteratee, comparator); + } + + /** + * This base implementation of `_.zipObject` which assigns values using `assignFunc`. + * + * @private + * @param {Array} props The property identifiers. + * @param {Array} values The property values. + * @param {Function} assignFunc The function to assign values. + * @returns {Object} Returns the new object. + */ + function baseZipObject(props, values, assignFunc) { + var index = -1, + length = props.length, + valsLength = values.length, + result = {}; + + while (++index < length) { + var value = index < valsLength ? values[index] : undefined; + assignFunc(result, props[index], value); + } + return result; + } + + /** + * Casts `value` to an empty array if it's not an array like object. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array|Object} Returns the cast array-like object. + */ + function castArrayLikeObject(value) { + return isArrayLikeObject(value) ? value : []; + } + + /** + * Casts `value` to `identity` if it's not a function. + * + * @private + * @param {*} value The value to inspect. + * @returns {Function} Returns cast function. + */ + function castFunction(value) { + return typeof value == 'function' ? value : identity; + } + + /** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @param {Object} [object] The object to query keys on. + * @returns {Array} Returns the cast property path array. + */ + function castPath(value, object) { + if (isArray(value)) { + return value; + } + return isKey(value, object) ? [value] : stringToPath(toString(value)); + } + + /** + * A `baseRest` alias which can be replaced with `identity` by module + * replacement plugins. + * + * @private + * @type {Function} + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + var castRest = baseRest; + + /** + * Casts `array` to a slice if it's needed. + * + * @private + * @param {Array} array The array to inspect. + * @param {number} start The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the cast slice. + */ + function castSlice(array, start, end) { + var length = array.length; + end = end === undefined ? length : end; + return (!start && end >= length) ? array : baseSlice(array, start, end); + } + + /** + * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). + * + * @private + * @param {number|Object} id The timer id or timeout object of the timer to clear. + */ + var clearTimeout = ctxClearTimeout || function(id) { + return root.clearTimeout(id); + }; + + /** + * Creates a clone of `buffer`. + * + * @private + * @param {Buffer} buffer The buffer to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Buffer} Returns the cloned buffer. + */ + function cloneBuffer(buffer, isDeep) { + if (isDeep) { + return buffer.slice(); + } + var length = buffer.length, + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); + + buffer.copy(result); + return result; + } + + /** + * Creates a clone of `arrayBuffer`. + * + * @private + * @param {ArrayBuffer} arrayBuffer The array buffer to clone. + * @returns {ArrayBuffer} Returns the cloned array buffer. + */ + function cloneArrayBuffer(arrayBuffer) { + var result = new arrayBuffer.constructor(arrayBuffer.byteLength); + new Uint8Array(result).set(new Uint8Array(arrayBuffer)); + return result; + } + + /** + * Creates a clone of `dataView`. + * + * @private + * @param {Object} dataView The data view to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned data view. + */ + function cloneDataView(dataView, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); + } + + /** + * Creates a clone of `regexp`. + * + * @private + * @param {Object} regexp The regexp to clone. + * @returns {Object} Returns the cloned regexp. + */ + function cloneRegExp(regexp) { + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); + result.lastIndex = regexp.lastIndex; + return result; + } + + /** + * Creates a clone of the `symbol` object. + * + * @private + * @param {Object} symbol The symbol object to clone. + * @returns {Object} Returns the cloned symbol object. + */ + function cloneSymbol(symbol) { + return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; + } + + /** + * Creates a clone of `typedArray`. + * + * @private + * @param {Object} typedArray The typed array to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the cloned typed array. + */ + function cloneTypedArray(typedArray, isDeep) { + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); + } + + /** + * Compares values to sort them in ascending order. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {number} Returns the sort order indicator for `value`. + */ + function compareAscending(value, other) { + if (value !== other) { + var valIsDefined = value !== undefined, + valIsNull = value === null, + valIsReflexive = value === value, + valIsSymbol = isSymbol(value); + + var othIsDefined = other !== undefined, + othIsNull = other === null, + othIsReflexive = other === other, + othIsSymbol = isSymbol(other); + + if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || + (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || + (valIsNull && othIsDefined && othIsReflexive) || + (!valIsDefined && othIsReflexive) || + !valIsReflexive) { + return 1; + } + if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || + (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || + (othIsNull && valIsDefined && valIsReflexive) || + (!othIsDefined && valIsReflexive) || + !othIsReflexive) { + return -1; + } + } + return 0; + } + + /** + * Used by `_.orderBy` to compare multiple properties of a value to another + * and stable sort them. + * + * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, + * specify an order of "desc" for descending or "asc" for ascending sort order + * of corresponding values. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {boolean[]|string[]} orders The order to sort by for each property. + * @returns {number} Returns the sort order indicator for `object`. + */ + function compareMultiple(object, other, orders) { + var index = -1, + objCriteria = object.criteria, + othCriteria = other.criteria, + length = objCriteria.length, + ordersLength = orders.length; + + while (++index < length) { + var result = compareAscending(objCriteria[index], othCriteria[index]); + if (result) { + if (index >= ordersLength) { + return result; + } + var order = orders[index]; + return result * (order == 'desc' ? -1 : 1); + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to provide the same value for + // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 + // for more details. + // + // This also ensures a stable sort in V8 and other engines. + // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. + return object.index - other.index; + } + + /** + * Creates an array that is the composition of partially applied arguments, + * placeholders, and provided arguments into a single array of arguments. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to prepend to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgs(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersLength = holders.length, + leftIndex = -1, + leftLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(leftLength + rangeLength), + isUncurried = !isCurried; + + while (++leftIndex < leftLength) { + result[leftIndex] = partials[leftIndex]; + } + while (++argsIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[holders[argsIndex]] = args[argsIndex]; + } + } + while (rangeLength--) { + result[leftIndex++] = args[argsIndex++]; + } + return result; + } + + /** + * This function is like `composeArgs` except that the arguments composition + * is tailored for `_.partialRight`. + * + * @private + * @param {Array} args The provided arguments. + * @param {Array} partials The arguments to append to those provided. + * @param {Array} holders The `partials` placeholder indexes. + * @params {boolean} [isCurried] Specify composing for a curried function. + * @returns {Array} Returns the new array of composed arguments. + */ + function composeArgsRight(args, partials, holders, isCurried) { + var argsIndex = -1, + argsLength = args.length, + holdersIndex = -1, + holdersLength = holders.length, + rightIndex = -1, + rightLength = partials.length, + rangeLength = nativeMax(argsLength - holdersLength, 0), + result = Array(rangeLength + rightLength), + isUncurried = !isCurried; + + while (++argsIndex < rangeLength) { + result[argsIndex] = args[argsIndex]; + } + var offset = argsIndex; + while (++rightIndex < rightLength) { + result[offset + rightIndex] = partials[rightIndex]; + } + while (++holdersIndex < holdersLength) { + if (isUncurried || argsIndex < argsLength) { + result[offset + holders[holdersIndex]] = args[argsIndex++]; + } + } + return result; + } + + /** + * Copies the values of `source` to `array`. + * + * @private + * @param {Array} source The array to copy values from. + * @param {Array} [array=[]] The array to copy values to. + * @returns {Array} Returns `array`. + */ + function copyArray(source, array) { + var index = -1, + length = source.length; + + array || (array = Array(length)); + while (++index < length) { + array[index] = source[index]; + } + return array; + } + + /** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ + function copyObject(source, props, object, customizer) { + var isNew = !object; + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + if (newValue === undefined) { + newValue = source[key]; + } + if (isNew) { + baseAssignValue(object, key, newValue); + } else { + assignValue(object, key, newValue); + } + } + return object; + } + + /** + * Copies own symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbols(source, object) { + return copyObject(source, getSymbols(source), object); + } + + /** + * Copies own and inherited symbols of `source` to `object`. + * + * @private + * @param {Object} source The object to copy symbols from. + * @param {Object} [object={}] The object to copy symbols to. + * @returns {Object} Returns `object`. + */ + function copySymbolsIn(source, object) { + return copyObject(source, getSymbolsIn(source), object); + } + + /** + * Creates a function like `_.groupBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} [initializer] The accumulator object initializer. + * @returns {Function} Returns the new aggregator function. + */ + function createAggregator(setter, initializer) { + return function(collection, iteratee) { + var func = isArray(collection) ? arrayAggregator : baseAggregator, + accumulator = initializer ? initializer() : {}; + + return func(collection, setter, getIteratee(iteratee, 2), accumulator); + }; + } + + /** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ + function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); + } + + /** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; + } + + /** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ + function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; + } + + /** + * Creates a function that wraps `func` to invoke it with the optional `this` + * binding of `thisArg`. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createBind(func, bitmask, thisArg) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return fn.apply(isBind ? thisArg : this, arguments); + } + return wrapper; + } + + /** + * Creates a function like `_.lowerFirst`. + * + * @private + * @param {string} methodName The name of the `String` case method to use. + * @returns {Function} Returns the new case function. + */ + function createCaseFirst(methodName) { + return function(string) { + string = toString(string); + + var strSymbols = hasUnicode(string) + ? stringToArray(string) + : undefined; + + var chr = strSymbols + ? strSymbols[0] + : string.charAt(0); + + var trailing = strSymbols + ? castSlice(strSymbols, 1).join('') + : string.slice(1); + + return chr[methodName]() + trailing; + }; + } + + /** + * Creates a function like `_.camelCase`. + * + * @private + * @param {Function} callback The function to combine each word. + * @returns {Function} Returns the new compounder function. + */ + function createCompounder(callback) { + return function(string) { + return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); + }; + } + + /** + * Creates a function that produces an instance of `Ctor` regardless of + * whether it was invoked as part of a `new` expression or by `call` or `apply`. + * + * @private + * @param {Function} Ctor The constructor to wrap. + * @returns {Function} Returns the new wrapped function. + */ + function createCtor(Ctor) { + return function() { + // Use a `switch` statement to work with class constructors. See + // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist + // for more details. + var args = arguments; + switch (args.length) { + case 0: return new Ctor; + case 1: return new Ctor(args[0]); + case 2: return new Ctor(args[0], args[1]); + case 3: return new Ctor(args[0], args[1], args[2]); + case 4: return new Ctor(args[0], args[1], args[2], args[3]); + case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); + case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); + case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); + } + var thisBinding = baseCreate(Ctor.prototype), + result = Ctor.apply(thisBinding, args); + + // Mimic the constructor's `return` behavior. + // See https://es5.github.io/#x13.2.2 for more details. + return isObject(result) ? result : thisBinding; + }; + } + + /** + * Creates a function that wraps `func` to enable currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {number} arity The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createCurry(func, bitmask, arity) { + var Ctor = createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length, + placeholder = getHolder(wrapper); + + while (index--) { + args[index] = arguments[index]; + } + var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) + ? [] + : replaceHolders(args, placeholder); + + length -= holders.length; + if (length < arity) { + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, undefined, + args, holders, undefined, undefined, arity - length); + } + var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + return apply(fn, this, args); + } + return wrapper; + } + + /** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ + function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = getIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; + } + + /** + * Creates a `_.flow` or `_.flowRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new flow function. + */ + function createFlow(fromRight) { + return flatRest(function(funcs) { + var length = funcs.length, + index = length, + prereq = LodashWrapper.prototype.thru; + + if (fromRight) { + funcs.reverse(); + } + while (index--) { + var func = funcs[index]; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (prereq && !wrapper && getFuncName(func) == 'wrapper') { + var wrapper = new LodashWrapper([], true); + } + } + index = wrapper ? index : length; + while (++index < length) { + func = funcs[index]; + + var funcName = getFuncName(func), + data = funcName == 'wrapper' ? getData(func) : undefined; + + if (data && isLaziable(data[0]) && + data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && + !data[4].length && data[9] == 1 + ) { + wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); + } else { + wrapper = (func.length == 1 && isLaziable(func)) + ? wrapper[funcName]() + : wrapper.thru(func); + } + } + return function() { + var args = arguments, + value = args[0]; + + if (wrapper && args.length == 1 && isArray(value)) { + return wrapper.plant(value).value(); + } + var index = 0, + result = length ? funcs[index].apply(this, args) : value; + + while (++index < length) { + result = funcs[index].call(this, result); + } + return result; + }; + }); + } + + /** + * Creates a function that wraps `func` to invoke it with optional `this` + * binding of `thisArg`, partial application, and currying. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [partialsRight] The arguments to append to those provided + * to the new function. + * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { + var isAry = bitmask & WRAP_ARY_FLAG, + isBind = bitmask & WRAP_BIND_FLAG, + isBindKey = bitmask & WRAP_BIND_KEY_FLAG, + isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), + isFlip = bitmask & WRAP_FLIP_FLAG, + Ctor = isBindKey ? undefined : createCtor(func); + + function wrapper() { + var length = arguments.length, + args = Array(length), + index = length; + + while (index--) { + args[index] = arguments[index]; + } + if (isCurried) { + var placeholder = getHolder(wrapper), + holdersCount = countHolders(args, placeholder); + } + if (partials) { + args = composeArgs(args, partials, holders, isCurried); + } + if (partialsRight) { + args = composeArgsRight(args, partialsRight, holdersRight, isCurried); + } + length -= holdersCount; + if (isCurried && length < arity) { + var newHolders = replaceHolders(args, placeholder); + return createRecurry( + func, bitmask, createHybrid, wrapper.placeholder, thisArg, + args, newHolders, argPos, ary, arity - length + ); + } + var thisBinding = isBind ? thisArg : this, + fn = isBindKey ? thisBinding[func] : func; + + length = args.length; + if (argPos) { + args = reorder(args, argPos); + } else if (isFlip && length > 1) { + args.reverse(); + } + if (isAry && ary < length) { + args.length = ary; + } + if (this && this !== root && this instanceof wrapper) { + fn = Ctor || createCtor(fn); + } + return fn.apply(thisBinding, args); + } + return wrapper; + } + + /** + * Creates a function like `_.invertBy`. + * + * @private + * @param {Function} setter The function to set accumulator values. + * @param {Function} toIteratee The function to resolve iteratees. + * @returns {Function} Returns the new inverter function. + */ + function createInverter(setter, toIteratee) { + return function(object, iteratee) { + return baseInverter(object, setter, toIteratee(iteratee), {}); + }; + } + + /** + * Creates a function that performs a mathematical operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @param {number} [defaultValue] The value used for `undefined` arguments. + * @returns {Function} Returns the new mathematical operation function. + */ + function createMathOperation(operator, defaultValue) { + return function(value, other) { + var result; + if (value === undefined && other === undefined) { + return defaultValue; + } + if (value !== undefined) { + result = value; + } + if (other !== undefined) { + if (result === undefined) { + return other; + } + if (typeof value == 'string' || typeof other == 'string') { + value = baseToString(value); + other = baseToString(other); + } else { + value = baseToNumber(value); + other = baseToNumber(other); + } + result = operator(value, other); + } + return result; + }; + } + + /** + * Creates a function like `_.over`. + * + * @private + * @param {Function} arrayFunc The function to iterate over iteratees. + * @returns {Function} Returns the new over function. + */ + function createOver(arrayFunc) { + return flatRest(function(iteratees) { + iteratees = arrayMap(iteratees, baseUnary(getIteratee())); + return baseRest(function(args) { + var thisArg = this; + return arrayFunc(iteratees, function(iteratee) { + return apply(iteratee, thisArg, args); + }); + }); + }); + } + + /** + * Creates the padding for `string` based on `length`. The `chars` string + * is truncated if the number of characters exceeds `length`. + * + * @private + * @param {number} length The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padding for `string`. + */ + function createPadding(length, chars) { + chars = chars === undefined ? ' ' : baseToString(chars); + + var charsLength = chars.length; + if (charsLength < 2) { + return charsLength ? baseRepeat(chars, length) : chars; + } + var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); + return hasUnicode(chars) + ? castSlice(stringToArray(result), 0, length).join('') + : result.slice(0, length); + } + + /** + * Creates a function that wraps `func` to invoke it with the `this` binding + * of `thisArg` and `partials` prepended to the arguments it receives. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} partials The arguments to prepend to those provided to + * the new function. + * @returns {Function} Returns the new wrapped function. + */ + function createPartial(func, bitmask, thisArg, partials) { + var isBind = bitmask & WRAP_BIND_FLAG, + Ctor = createCtor(func); + + function wrapper() { + var argsIndex = -1, + argsLength = arguments.length, + leftIndex = -1, + leftLength = partials.length, + args = Array(leftLength + argsLength), + fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; + + while (++leftIndex < leftLength) { + args[leftIndex] = partials[leftIndex]; + } + while (argsLength--) { + args[leftIndex++] = arguments[++argsIndex]; + } + return apply(fn, isBind ? thisArg : this, args); + } + return wrapper; + } + + /** + * Creates a `_.range` or `_.rangeRight` function. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new range function. + */ + function createRange(fromRight) { + return function(start, end, step) { + if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { + end = step = undefined; + } + // Ensure the sign of `-0` is preserved. + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); + return baseRange(start, end, step, fromRight); + }; + } + + /** + * Creates a function that performs a relational operation on two values. + * + * @private + * @param {Function} operator The function to perform the operation. + * @returns {Function} Returns the new relational operation function. + */ + function createRelationalOperation(operator) { + return function(value, other) { + if (!(typeof value == 'string' && typeof other == 'string')) { + value = toNumber(value); + other = toNumber(other); + } + return operator(value, other); + }; + } + + /** + * Creates a function that wraps `func` to continue currying. + * + * @private + * @param {Function} func The function to wrap. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @param {Function} wrapFunc The function to create the `func` wrapper. + * @param {*} placeholder The placeholder value. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to prepend to those provided to + * the new function. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { + var isCurry = bitmask & WRAP_CURRY_FLAG, + newHolders = isCurry ? holders : undefined, + newHoldersRight = isCurry ? undefined : holders, + newPartials = isCurry ? partials : undefined, + newPartialsRight = isCurry ? undefined : partials; + + bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); + bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); + + if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { + bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); + } + var newData = [ + func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, + newHoldersRight, argPos, ary, arity + ]; + + var result = wrapFunc.apply(undefined, newData); + if (isLaziable(func)) { + setData(result, newData); + } + result.placeholder = placeholder; + return setWrapToString(result, func, bitmask); + } + + /** + * Creates a function like `_.round`. + * + * @private + * @param {string} methodName The name of the `Math` method to use when rounding. + * @returns {Function} Returns the new round function. + */ + function createRound(methodName) { + var func = Math[methodName]; + return function(number, precision) { + number = toNumber(number); + precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); + if (precision && nativeIsFinite(number)) { + // Shift with exponential notation to avoid floating-point issues. + // See [MDN](https://mdn.io/round#Examples) for more details. + var pair = (toString(number) + 'e').split('e'), + value = func(pair[0] + 'e' + (+pair[1] + precision)); + + pair = (toString(value) + 'e').split('e'); + return +(pair[0] + 'e' + (+pair[1] - precision)); + } + return func(number); + }; + } + + /** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ + var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); + }; + + /** + * Creates a `_.toPairs` or `_.toPairsIn` function. + * + * @private + * @param {Function} keysFunc The function to get the keys of a given object. + * @returns {Function} Returns the new pairs function. + */ + function createToPairs(keysFunc) { + return function(object) { + var tag = getTag(object); + if (tag == mapTag) { + return mapToArray(object); + } + if (tag == setTag) { + return setToPairs(object); + } + return baseToPairs(object, keysFunc(object)); + }; + } + + /** + * Creates a function that either curries or invokes `func` with optional + * `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to wrap. + * @param {number} bitmask The bitmask flags. + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` or `_.curryRight` of a bound function + * 8 - `_.curry` + * 16 - `_.curryRight` + * 32 - `_.partial` + * 64 - `_.partialRight` + * 128 - `_.rearg` + * 256 - `_.ary` + * 512 - `_.flip` + * @param {*} [thisArg] The `this` binding of `func`. + * @param {Array} [partials] The arguments to be partially applied. + * @param {Array} [holders] The `partials` placeholder indexes. + * @param {Array} [argPos] The argument positions of the new function. + * @param {number} [ary] The arity cap of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new wrapped function. + */ + function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { + var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; + if (!isBindKey && typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + var length = partials ? partials.length : 0; + if (!length) { + bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); + partials = holders = undefined; + } + ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); + arity = arity === undefined ? arity : toInteger(arity); + length -= holders ? holders.length : 0; + + if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { + var partialsRight = partials, + holdersRight = holders; + + partials = holders = undefined; + } + var data = isBindKey ? undefined : getData(func); + + var newData = [ + func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, + argPos, ary, arity + ]; + + if (data) { + mergeData(newData, data); + } + func = newData[0]; + bitmask = newData[1]; + thisArg = newData[2]; + partials = newData[3]; + holders = newData[4]; + arity = newData[9] = newData[9] === undefined + ? (isBindKey ? 0 : func.length) + : nativeMax(newData[9] - length, 0); + + if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { + bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); + } + if (!bitmask || bitmask == WRAP_BIND_FLAG) { + var result = createBind(func, bitmask, thisArg); + } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { + result = createCurry(func, bitmask, arity); + } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { + result = createPartial(func, bitmask, thisArg, partials); + } else { + result = createHybrid.apply(undefined, newData); + } + var setter = data ? baseSetData : setData; + return setWrapToString(setter(result, newData), func, bitmask); + } + + /** + * Used by `_.defaults` to customize its `_.assignIn` use to assign properties + * of source objects to the destination object for all destination properties + * that resolve to `undefined`. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to assign. + * @param {Object} object The parent object of `objValue`. + * @returns {*} Returns the value to assign. + */ + function customDefaultsAssignIn(objValue, srcValue, key, object) { + if (objValue === undefined || + (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { + return srcValue; + } + return objValue; + } + + /** + * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source + * objects into destination objects that are passed thru. + * + * @private + * @param {*} objValue The destination value. + * @param {*} srcValue The source value. + * @param {string} key The key of the property to merge. + * @param {Object} object The parent object of `objValue`. + * @param {Object} source The parent object of `srcValue`. + * @param {Object} [stack] Tracks traversed source values and their merged + * counterparts. + * @returns {*} Returns the value to assign. + */ + function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { + if (isObject(objValue) && isObject(srcValue)) { + // Recursively merge objects and arrays (susceptible to call stack limits). + stack.set(srcValue, objValue); + baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); + stack['delete'](srcValue); + } + return objValue; + } + + /** + * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain + * objects. + * + * @private + * @param {*} value The value to inspect. + * @param {string} key The key of the property to inspect. + * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. + */ + function customOmitClone(value) { + return isPlainObject(value) ? undefined : value; + } + + /** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ + function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Check that cyclic values are equal. + var arrStacked = stack.get(array); + var othStacked = stack.get(other); + if (arrStacked && othStacked) { + return arrStacked == other && othStacked == array; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; + } + + /** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Check that cyclic values are equal. + var objStacked = stack.get(object); + var othStacked = stack.get(other); + if (objStacked && othStacked) { + return objStacked == other && othStacked == object; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; + } + + /** + * A specialized version of `baseRest` which flattens the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @returns {Function} Returns the new function. + */ + function flatRest(func) { + return setToString(overRest(func, undefined, flatten), func + ''); + } + + /** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); + } + + /** + * Creates an array of own and inherited enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ + function getAllKeysIn(object) { + return baseGetAllKeys(object, keysIn, getSymbolsIn); + } + + /** + * Gets metadata for `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {*} Returns the metadata for `func`. + */ + var getData = !metaMap ? noop : function(func) { + return metaMap.get(func); + }; + + /** + * Gets the name of `func`. + * + * @private + * @param {Function} func The function to query. + * @returns {string} Returns the function name. + */ + function getFuncName(func) { + var result = (func.name + ''), + array = realNames[result], + length = hasOwnProperty.call(realNames, result) ? array.length : 0; + + while (length--) { + var data = array[length], + otherFunc = data.func; + if (otherFunc == null || otherFunc == func) { + return data.name; + } + } + return result; + } + + /** + * Gets the argument placeholder value for `func`. + * + * @private + * @param {Function} func The function to inspect. + * @returns {*} Returns the placeholder value. + */ + function getHolder(func) { + var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; + return object.placeholder; + } + + /** + * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, + * this function returns the custom method, otherwise it returns `baseIteratee`. + * If arguments are provided, the chosen function is invoked with them and + * its result is returned. + * + * @private + * @param {*} [value] The value to convert to an iteratee. + * @param {number} [arity] The arity of the created iteratee. + * @returns {Function} Returns the chosen function or its result. + */ + function getIteratee() { + var result = lodash.iteratee || iteratee; + result = result === iteratee ? baseIteratee : result; + return arguments.length ? result(arguments[0], arguments[1]) : result; + } + + /** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ + function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; + } + + /** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ + function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; + } + + /** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ + function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; + } + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } + + /** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); + }; + + /** + * Creates an array of the own and inherited enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ + var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { + var result = []; + while (object) { + arrayPush(result, getSymbols(object)); + object = getPrototype(object); + } + return result; + }; + + /** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + var getTag = baseGetTag; + + // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. + if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; + } + + /** + * Gets the view, applying any `transforms` to the `start` and `end` positions. + * + * @private + * @param {number} start The start of the view. + * @param {number} end The end of the view. + * @param {Array} transforms The transformations to apply to the view. + * @returns {Object} Returns an object containing the `start` and `end` + * positions of the view. + */ + function getView(start, end, transforms) { + var index = -1, + length = transforms.length; + + while (++index < length) { + var data = transforms[index], + size = data.size; + + switch (data.type) { + case 'drop': start += size; break; + case 'dropRight': end -= size; break; + case 'take': end = nativeMin(end, start + size); break; + case 'takeRight': start = nativeMax(start, end - size); break; + } + } + return { 'start': start, 'end': end }; + } + + /** + * Extracts wrapper details from the `source` body comment. + * + * @private + * @param {string} source The source to inspect. + * @returns {Array} Returns the wrapper details. + */ + function getWrapDetails(source) { + var match = source.match(reWrapDetails); + return match ? match[1].split(reSplitDetails) : []; + } + + /** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ + function hasPath(object, path, hasFunc) { + path = castPath(path, object); + + var index = -1, + length = path.length, + result = false; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result || ++index != length) { + return result; + } + length = object == null ? 0 : object.length; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); + } + + /** + * Initializes an array clone. + * + * @private + * @param {Array} array The array to clone. + * @returns {Array} Returns the initialized clone. + */ + function initCloneArray(array) { + var length = array.length, + result = new array.constructor(length); + + // Add properties assigned by `RegExp#exec`. + if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { + result.index = array.index; + result.input = array.input; + } + return result; + } + + /** + * Initializes an object clone. + * + * @private + * @param {Object} object The object to clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneObject(object) { + return (typeof object.constructor == 'function' && !isPrototype(object)) + ? baseCreate(getPrototype(object)) + : {}; + } + + /** + * Initializes an object clone based on its `toStringTag`. + * + * **Note:** This function only supports cloning values with tags of + * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. + * + * @private + * @param {Object} object The object to clone. + * @param {string} tag The `toStringTag` of the object to clone. + * @param {boolean} [isDeep] Specify a deep clone. + * @returns {Object} Returns the initialized clone. + */ + function initCloneByTag(object, tag, isDeep) { + var Ctor = object.constructor; + switch (tag) { + case arrayBufferTag: + return cloneArrayBuffer(object); + + case boolTag: + case dateTag: + return new Ctor(+object); + + case dataViewTag: + return cloneDataView(object, isDeep); + + case float32Tag: case float64Tag: + case int8Tag: case int16Tag: case int32Tag: + case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: + return cloneTypedArray(object, isDeep); + + case mapTag: + return new Ctor; + + case numberTag: + case stringTag: + return new Ctor(object); + + case regexpTag: + return cloneRegExp(object); + + case setTag: + return new Ctor; + + case symbolTag: + return cloneSymbol(object); + } + } + + /** + * Inserts wrapper `details` in a comment at the top of the `source` body. + * + * @private + * @param {string} source The source to modify. + * @returns {Array} details The details to insert. + * @returns {string} Returns the modified source. + */ + function insertWrapDetails(source, details) { + var length = details.length; + if (!length) { + return source; + } + var lastIndex = length - 1; + details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; + details = details.join(length > 2 ? ', ' : ' '); + return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); + } + + /** + * Checks if `value` is a flattenable `arguments` object or array. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. + */ + function isFlattenable(value) { + return isArray(value) || isArguments(value) || + !!(spreadableSymbol && value && value[spreadableSymbol]); + } + + /** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ + function isIndex(value, length) { + var type = typeof value; + length = length == null ? MAX_SAFE_INTEGER : length; + + return !!length && + (type == 'number' || + (type != 'symbol' && reIsUint.test(value))) && + (value > -1 && value % 1 == 0 && value < length); + } + + /** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ + function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; + } + + /** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ + function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); + } + + /** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ + function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); + } + + /** + * Checks if `func` has a lazy counterpart. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` has a lazy counterpart, + * else `false`. + */ + function isLaziable(func) { + var funcName = getFuncName(func), + other = lodash[funcName]; + + if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { + return false; + } + if (func === other) { + return true; + } + var data = getData(other); + return !!data && func === data[0]; + } + + /** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ + function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); + } + + /** + * Checks if `func` is capable of being masked. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `func` is maskable, else `false`. + */ + var isMaskable = coreJsData ? isFunction : stubFalse; + + /** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ + function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; + } + + /** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ + function isStrictComparable(value) { + return value === value && !isObject(value); + } + + /** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ + function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; + } + + /** + * A specialized version of `_.memoize` which clears the memoized function's + * cache when it exceeds `MAX_MEMOIZE_SIZE`. + * + * @private + * @param {Function} func The function to have its output memoized. + * @returns {Function} Returns the new memoized function. + */ + function memoizeCapped(func) { + var result = memoize(func, function(key) { + if (cache.size === MAX_MEMOIZE_SIZE) { + cache.clear(); + } + return key; + }); + + var cache = result.cache; + return result; + } + + /** + * Merges the function metadata of `source` into `data`. + * + * Merging metadata reduces the number of wrappers used to invoke a function. + * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` + * may be applied regardless of execution order. Methods like `_.ary` and + * `_.rearg` modify function arguments, making the order in which they are + * executed important, preventing the merging of metadata. However, we make + * an exception for a safe combined case where curried functions have `_.ary` + * and or `_.rearg` applied. + * + * @private + * @param {Array} data The destination metadata. + * @param {Array} source The source metadata. + * @returns {Array} Returns `data`. + */ + function mergeData(data, source) { + var bitmask = data[1], + srcBitmask = source[1], + newBitmask = bitmask | srcBitmask, + isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); + + var isCombo = + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || + ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || + ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); + + // Exit early if metadata can't be merged. + if (!(isCommon || isCombo)) { + return data; + } + // Use source `thisArg` if available. + if (srcBitmask & WRAP_BIND_FLAG) { + data[2] = source[2]; + // Set when currying a bound function. + newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; + } + // Compose partial arguments. + var value = source[3]; + if (value) { + var partials = data[3]; + data[3] = partials ? composeArgs(partials, value, source[4]) : value; + data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; + } + // Compose partial right arguments. + value = source[5]; + if (value) { + partials = data[5]; + data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; + data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; + } + // Use source `argPos` if available. + value = source[7]; + if (value) { + data[7] = value; + } + // Use source `ary` if it's smaller. + if (srcBitmask & WRAP_ARY_FLAG) { + data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); + } + // Use source `arity` if one is not provided. + if (data[9] == null) { + data[9] = source[9]; + } + // Use source `func` and merge bitmasks. + data[0] = source[0]; + data[1] = newBitmask; + + return data; + } + + /** + * This function is like + * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * except that it includes inherited enumerable properties. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ + function nativeKeysIn(object) { + var result = []; + if (object != null) { + for (var key in Object(object)) { + result.push(key); + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } + + /** + * A specialized version of `baseRest` which transforms the rest array. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @param {Function} transform The rest array transform. + * @returns {Function} Returns the new function. + */ + function overRest(func, start, transform) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = transform(array); + return apply(func, this, otherArgs); + }; + } + + /** + * Gets the parent value at `path` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array} path The path to get the parent value of. + * @returns {*} Returns the parent value. + */ + function parent(object, path) { + return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); + } + + /** + * Reorder `array` according to the specified indexes where the element at + * the first index is assigned as the first element, the element at + * the second index is assigned as the second element, and so on. + * + * @private + * @param {Array} array The array to reorder. + * @param {Array} indexes The arranged array indexes. + * @returns {Array} Returns `array`. + */ + function reorder(array, indexes) { + var arrLength = array.length, + length = nativeMin(indexes.length, arrLength), + oldArray = copyArray(array); + + while (length--) { + var index = indexes[length]; + array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; + } + return array; + } + + /** + * Gets the value at `key`, unless `key` is "__proto__" or "constructor". + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ + function safeGet(object, key) { + if (key === 'constructor' && typeof object[key] === 'function') { + return; + } + + if (key == '__proto__') { + return; + } + + return object[key]; + } + + /** + * Sets metadata for `func`. + * + * **Note:** If this function becomes hot, i.e. is invoked a lot in a short + * period of time, it will trip its breaker and transition to an identity + * function to avoid garbage collection pauses in V8. See + * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) + * for more details. + * + * @private + * @param {Function} func The function to associate metadata with. + * @param {*} data The metadata. + * @returns {Function} Returns `func`. + */ + var setData = shortOut(baseSetData); + + /** + * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). + * + * @private + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @returns {number|Object} Returns the timer id or timeout object. + */ + var setTimeout = ctxSetTimeout || function(func, wait) { + return root.setTimeout(func, wait); + }; + + /** + * Sets the `toString` method of `func` to return `string`. + * + * @private + * @param {Function} func The function to modify. + * @param {Function} string The `toString` result. + * @returns {Function} Returns `func`. + */ + var setToString = shortOut(baseSetToString); + + /** + * Sets the `toString` method of `wrapper` to mimic the source of `reference` + * with wrapper details in a comment at the top of the source body. + * + * @private + * @param {Function} wrapper The function to modify. + * @param {Function} reference The reference function. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Function} Returns `wrapper`. + */ + function setWrapToString(wrapper, reference, bitmask) { + var source = (reference + ''); + return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); + } + + /** + * Creates a function that'll short out and invoke `identity` instead + * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` + * milliseconds. + * + * @private + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new shortable function. + */ + function shortOut(func) { + var count = 0, + lastCalled = 0; + + return function() { + var stamp = nativeNow(), + remaining = HOT_SPAN - (stamp - lastCalled); + + lastCalled = stamp; + if (remaining > 0) { + if (++count >= HOT_COUNT) { + return arguments[0]; + } + } else { + count = 0; + } + return func.apply(undefined, arguments); + }; + } + + /** + * A specialized version of `_.shuffle` which mutates and sets the size of `array`. + * + * @private + * @param {Array} array The array to shuffle. + * @param {number} [size=array.length] The size of `array`. + * @returns {Array} Returns `array`. + */ + function shuffleSelf(array, size) { + var index = -1, + length = array.length, + lastIndex = length - 1; + + size = size === undefined ? length : size; + while (++index < size) { + var rand = baseRandom(index, lastIndex), + value = array[rand]; + + array[rand] = array[index]; + array[index] = value; + } + array.length = size; + return array; + } + + /** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ + var stringToPath = memoizeCapped(function(string) { + var result = []; + if (string.charCodeAt(0) === 46 /* . */) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, subString) { + result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; + }); + + /** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ + function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; + } + + /** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ + function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; + } + + /** + * Updates wrapper `details` based on `bitmask` flags. + * + * @private + * @returns {Array} details The details to modify. + * @param {number} bitmask The bitmask flags. See `createWrap` for more details. + * @returns {Array} Returns `details`. + */ + function updateWrapDetails(details, bitmask) { + arrayEach(wrapFlags, function(pair) { + var value = '_.' + pair[0]; + if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { + details.push(value); + } + }); + return details.sort(); + } + + /** + * Creates a clone of `wrapper`. + * + * @private + * @param {Object} wrapper The wrapper to clone. + * @returns {Object} Returns the cloned wrapper. + */ + function wrapperClone(wrapper) { + if (wrapper instanceof LazyWrapper) { + return wrapper.clone(); + } + var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); + result.__actions__ = copyArray(wrapper.__actions__); + result.__index__ = wrapper.__index__; + result.__values__ = wrapper.__values__; + return result; + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an array of elements split into groups the length of `size`. + * If `array` can't be split evenly, the final chunk will be the remaining + * elements. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to process. + * @param {number} [size=1] The length of each chunk + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the new array of chunks. + * @example + * + * _.chunk(['a', 'b', 'c', 'd'], 2); + * // => [['a', 'b'], ['c', 'd']] + * + * _.chunk(['a', 'b', 'c', 'd'], 3); + * // => [['a', 'b', 'c'], ['d']] + */ + function chunk(array, size, guard) { + if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { + size = 1; + } else { + size = nativeMax(toInteger(size), 0); + } + var length = array == null ? 0 : array.length; + if (!length || size < 1) { + return []; + } + var index = 0, + resIndex = 0, + result = Array(nativeCeil(length / size)); + + while (index < length) { + result[resIndex++] = baseSlice(array, index, (index += size)); + } + return result; + } + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are falsey. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to compact. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result[resIndex++] = value; + } + } + return result; + } + + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to concatenate. + * @param {...*} [values] The values to concatenate. + * @returns {Array} Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + function concat() { + var length = arguments.length; + if (!length) { + return []; + } + var args = Array(length - 1), + array = arguments[0], + index = length; + + while (index--) { + args[index - 1] = arguments[index]; + } + return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); + } + + /** + * Creates an array of `array` values not included in the other given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * **Note:** Unlike `_.pullAll`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.without, _.xor + * @example + * + * _.difference([2, 1], [2, 3]); + * // => [1] + */ + var difference = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `iteratee` which + * is invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * **Note:** Unlike `_.pullAllBy`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2] + * + * // The `_.property` iteratee shorthand. + * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var differenceBy = baseRest(function(array, values) { + var iteratee = last(values); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.difference` except that it accepts `comparator` + * which is invoked to compare elements of `array` to `values`. The order and + * references of result values are determined by the first array. The comparator + * is invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.pullAllWith`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...Array} [values] The values to exclude. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ + var differenceWith = baseRest(function(array, values) { + var comparator = last(values); + if (isArrayLikeObject(comparator)) { + comparator = undefined; + } + return isArrayLikeObject(array) + ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) + : []; + }); + + /** + * Creates a slice of `array` with `n` elements dropped from the beginning. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.drop([1, 2, 3]); + * // => [2, 3] + * + * _.drop([1, 2, 3], 2); + * // => [3] + * + * _.drop([1, 2, 3], 5); + * // => [] + * + * _.drop([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function drop(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with `n` elements dropped from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to drop. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.dropRight([1, 2, 3]); + * // => [1, 2] + * + * _.dropRight([1, 2, 3], 2); + * // => [1] + * + * _.dropRight([1, 2, 3], 5); + * // => [] + * + * _.dropRight([1, 2, 3], 0); + * // => [1, 2, 3] + */ + function dropRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` excluding elements dropped from the end. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.dropRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney'] + * + * // The `_.matches` iteratee shorthand. + * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropRightWhile(users, ['active', false]); + * // => objects for ['barney'] + * + * // The `_.property` iteratee shorthand. + * _.dropRightWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true, true) + : []; + } + + /** + * Creates a slice of `array` excluding elements dropped from the beginning. + * Elements are dropped until `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.dropWhile(users, function(o) { return !o.active; }); + * // => objects for ['pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.dropWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.dropWhile(users, ['active', false]); + * // => objects for ['pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.dropWhile(users, 'active'); + * // => objects for ['barney', 'fred', 'pebbles'] + */ + function dropWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), true) + : []; + } + + /** + * Fills elements of `array` with `value` from `start` up to, but not + * including, `end`. + * + * **Note:** This method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Array + * @param {Array} array The array to fill. + * @param {*} value The value to fill `array` with. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.fill(array, 'a'); + * console.log(array); + * // => ['a', 'a', 'a'] + * + * _.fill(Array(3), 2); + * // => [2, 2, 2] + * + * _.fill([4, 6, 8, 10], '*', 1, 3); + * // => [4, '*', '*', 10] + */ + function fill(array, value, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { + start = 0; + end = length; + } + return baseFill(array, value, start, end); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ + function findIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, getIteratee(predicate, 3), index); + } + + /** + * This method is like `_.findIndex` except that it iterates over elements + * of `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); + * // => 2 + * + * // The `_.matches` iteratee shorthand. + * _.findLastIndex(users, { 'user': 'barney', 'active': true }); + * // => 0 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastIndex(users, ['active', false]); + * // => 2 + * + * // The `_.property` iteratee shorthand. + * _.findLastIndex(users, 'active'); + * // => 0 + */ + function findLastIndex(array, predicate, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length - 1; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = fromIndex < 0 + ? nativeMax(length + index, 0) + : nativeMin(index, length - 1); + } + return baseFindIndex(array, getIteratee(predicate, 3), index, true); + } + + /** + * Flattens `array` a single level deep. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flatten([1, [2, [3, [4]], 5]]); + * // => [1, 2, [3, [4]], 5] + */ + function flatten(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, 1) : []; + } + + /** + * Recursively flattens `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to flatten. + * @returns {Array} Returns the new flattened array. + * @example + * + * _.flattenDeep([1, [2, [3, [4]], 5]]); + * // => [1, 2, 3, 4, 5] + */ + function flattenDeep(array) { + var length = array == null ? 0 : array.length; + return length ? baseFlatten(array, INFINITY) : []; + } + + /** + * Recursively flatten `array` up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Array + * @param {Array} array The array to flatten. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * var array = [1, [2, [3, [4]], 5]]; + * + * _.flattenDepth(array, 1); + * // => [1, 2, [3, [4]], 5] + * + * _.flattenDepth(array, 2); + * // => [1, 2, 3, [4], 5] + */ + function flattenDepth(array, depth) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(array, depth); + } + + /** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} pairs The key-value pairs. + * @returns {Object} Returns the new object. + * @example + * + * _.fromPairs([['a', 1], ['b', 2]]); + * // => { 'a': 1, 'b': 2 } + */ + function fromPairs(pairs) { + var index = -1, + length = pairs == null ? 0 : pairs.length, + result = {}; + + while (++index < length) { + var pair = pairs[index]; + result[pair[0]] = pair[1]; + } + return result; + } + + /** + * Gets the first element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias first + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the first element of `array`. + * @example + * + * _.head([1, 2, 3]); + * // => 1 + * + * _.head([]); + * // => undefined + */ + function head(array) { + return (array && array.length) ? array[0] : undefined; + } + + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the + * offset from the end of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // Search from the `fromIndex`. + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + function indexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseIndexOf(array, value, index); + } + + /** + * Gets all but the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + */ + function initial(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 0, -1) : []; + } + + /** + * Creates an array of unique values that are included in all given arrays + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. The order and references of result values are + * determined by the first array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersection([2, 1], [2, 3]); + * // => [2] + */ + var intersection = baseRest(function(arrays) { + var mapped = arrayMap(arrays, castArrayLikeObject); + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which they're compared. The order and references of result values are + * determined by the first array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [2.1] + * + * // The `_.property` iteratee shorthand. + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ + var intersectionBy = baseRest(function(arrays) { + var iteratee = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + if (iteratee === last(mapped)) { + iteratee = undefined; + } else { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, getIteratee(iteratee, 2)) + : []; + }); + + /** + * This method is like `_.intersection` except that it accepts `comparator` + * which is invoked to compare elements of `arrays`. The order and references + * of result values are determined by the first array. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of intersecting values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ + var intersectionWith = baseRest(function(arrays) { + var comparator = last(arrays), + mapped = arrayMap(arrays, castArrayLikeObject); + + comparator = typeof comparator == 'function' ? comparator : undefined; + if (comparator) { + mapped.pop(); + } + return (mapped.length && mapped[0] === arrays[0]) + ? baseIntersection(mapped, undefined, comparator) + : []; + }); + + /** + * Converts all elements in `array` into a string separated by `separator`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to convert. + * @param {string} [separator=','] The element separator. + * @returns {string} Returns the joined string. + * @example + * + * _.join(['a', 'b', 'c'], '~'); + * // => 'a~b~c' + */ + function join(array, separator) { + return array == null ? '' : nativeJoin.call(array, separator); + } + + /** + * Gets the last element of `array`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @returns {*} Returns the last element of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + */ + function last(array) { + var length = array == null ? 0 : array.length; + return length ? array[length - 1] : undefined; + } + + /** + * This method is like `_.indexOf` except that it iterates over elements of + * `array` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.lastIndexOf([1, 2, 1, 2], 2); + * // => 3 + * + * // Search from the `fromIndex`. + * _.lastIndexOf([1, 2, 1, 2], 2, 2); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var length = array == null ? 0 : array.length; + if (!length) { + return -1; + } + var index = length; + if (fromIndex !== undefined) { + index = toInteger(fromIndex); + index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); + } + return value === value + ? strictLastIndexOf(array, value, index) + : baseFindIndex(array, baseIsNaN, index, true); + } + + /** + * Gets the element at index `n` of `array`. If `n` is negative, the nth + * element from the end is returned. + * + * @static + * @memberOf _ + * @since 4.11.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=0] The index of the element to return. + * @returns {*} Returns the nth element of `array`. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * + * _.nth(array, 1); + * // => 'b' + * + * _.nth(array, -2); + * // => 'c'; + */ + function nth(array, n) { + return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; + } + + /** + * Removes all given values from `array` using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` + * to remove elements from an array by predicate. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...*} [values] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pull(array, 'a', 'c'); + * console.log(array); + * // => ['b', 'b'] + */ + var pull = baseRest(pullAll); + + /** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = ['a', 'b', 'c', 'a', 'b', 'c']; + * + * _.pullAll(array, ['a', 'c']); + * console.log(array); + * // => ['b', 'b'] + */ + function pullAll(array, values) { + return (array && array.length && values && values.length) + ? basePullAll(array, values) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to generate the criterion + * by which they're compared. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ + function pullAllBy(array, values, iteratee) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, getIteratee(iteratee, 2)) + : array; + } + + /** + * This method is like `_.pullAll` except that it accepts `comparator` which + * is invoked to compare elements of `array` to `values`. The comparator is + * invoked with two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Array} values The values to remove. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ + function pullAllWith(array, values, comparator) { + return (array && array.length && values && values.length) + ? basePullAll(array, values, undefined, comparator) + : array; + } + + /** + * Removes elements from `array` corresponding to `indexes` and returns an + * array of removed elements. + * + * **Note:** Unlike `_.at`, this method mutates `array`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {...(number|number[])} [indexes] The indexes of elements to remove. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = ['a', 'b', 'c', 'd']; + * var pulled = _.pullAt(array, [1, 3]); + * + * console.log(array); + * // => ['a', 'c'] + * + * console.log(pulled); + * // => ['b', 'd'] + */ + var pullAt = flatRest(function(array, indexes) { + var length = array == null ? 0 : array.length, + result = baseAt(array, indexes); + + basePullAt(array, arrayMap(indexes, function(index) { + return isIndex(index, length) ? +index : index; + }).sort(compareAscending)); + + return result; + }); + + /** + * Removes all elements from `array` that `predicate` returns truthy for + * and returns an array of the removed elements. The predicate is invoked + * with three arguments: (value, index, array). + * + * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` + * to pull elements from an array by value. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Array + * @param {Array} array The array to modify. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4]; + * var evens = _.remove(array, function(n) { + * return n % 2 == 0; + * }); + * + * console.log(array); + * // => [1, 3] + * + * console.log(evens); + * // => [2, 4] + */ + function remove(array, predicate) { + var result = []; + if (!(array && array.length)) { + return result; + } + var index = -1, + indexes = [], + length = array.length; + + predicate = getIteratee(predicate, 3); + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result.push(value); + indexes.push(index); + } + } + basePullAt(array, indexes); + return result; + } + + /** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to modify. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function reverse(array) { + return array == null ? array : nativeReverse.call(array); + } + + /** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of + * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are + * returned. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ + function slice(array, start, end) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } + else { + start = start == null ? 0 : toInteger(start); + end = end === undefined ? length : toInteger(end); + } + return baseSlice(array, start, end); + } + + /** + * Uses a binary search to determine the lowest index at which `value` + * should be inserted into `array` in order to maintain its sort order. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + */ + function sortedIndex(array, value) { + return baseSortedIndex(array, value); + } + + /** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); + * // => 0 + */ + function sortedIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); + } + + /** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([4, 5, 5, 5, 6], 5); + * // => 1 + */ + function sortedIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value); + if (index < length && eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedLastIndex([4, 5, 5, 5, 6], 5); + * // => 4 + */ + function sortedLastIndex(array, value) { + return baseSortedIndex(array, value, true); + } + + /** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The sorted array to inspect. + * @param {*} value The value to evaluate. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * var objects = [{ 'x': 4 }, { 'x': 5 }]; + * + * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); + * // => 1 + * + * // The `_.property` iteratee shorthand. + * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); + * // => 1 + */ + function sortedLastIndexBy(array, value, iteratee) { + return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); + } + + /** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); + * // => 3 + */ + function sortedLastIndexOf(array, value) { + var length = array == null ? 0 : array.length; + if (length) { + var index = baseSortedIndex(array, value, true) - 1; + if (eq(array[index], value)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ + function sortedUniq(array) { + return (array && array.length) + ? baseSortedUniq(array) + : []; + } + + /** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.3] + */ + function sortedUniqBy(array, iteratee) { + return (array && array.length) + ? baseSortedUniq(array, getIteratee(iteratee, 2)) + : []; + } + + /** + * Gets all but the first element of `array`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to query. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.tail([1, 2, 3]); + * // => [2, 3] + */ + function tail(array) { + var length = array == null ? 0 : array.length; + return length ? baseSlice(array, 1, length) : []; + } + + /** + * Creates a slice of `array` with `n` elements taken from the beginning. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.take([1, 2, 3]); + * // => [1] + * + * _.take([1, 2, 3], 2); + * // => [1, 2] + * + * _.take([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.take([1, 2, 3], 0); + * // => [] + */ + function take(array, n, guard) { + if (!(array && array.length)) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + return baseSlice(array, 0, n < 0 ? 0 : n); + } + + /** + * Creates a slice of `array` with `n` elements taken from the end. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {number} [n=1] The number of elements to take. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the slice of `array`. + * @example + * + * _.takeRight([1, 2, 3]); + * // => [3] + * + * _.takeRight([1, 2, 3], 2); + * // => [2, 3] + * + * _.takeRight([1, 2, 3], 5); + * // => [1, 2, 3] + * + * _.takeRight([1, 2, 3], 0); + * // => [] + */ + function takeRight(array, n, guard) { + var length = array == null ? 0 : array.length; + if (!length) { + return []; + } + n = (guard || n === undefined) ? 1 : toInteger(n); + n = length - n; + return baseSlice(array, n < 0 ? 0 : n, length); + } + + /** + * Creates a slice of `array` with elements taken from the end. Elements are + * taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': false } + * ]; + * + * _.takeRightWhile(users, function(o) { return !o.active; }); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.matches` iteratee shorthand. + * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); + * // => objects for ['pebbles'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeRightWhile(users, ['active', false]); + * // => objects for ['fred', 'pebbles'] + * + * // The `_.property` iteratee shorthand. + * _.takeRightWhile(users, 'active'); + * // => [] + */ + function takeRightWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3), false, true) + : []; + } + + /** + * Creates a slice of `array` with elements taken from the beginning. Elements + * are taken until `predicate` returns falsey. The predicate is invoked with + * three arguments: (value, index, array). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Array + * @param {Array} array The array to query. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the slice of `array`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.takeWhile(users, function(o) { return !o.active; }); + * // => objects for ['barney', 'fred'] + * + * // The `_.matches` iteratee shorthand. + * _.takeWhile(users, { 'user': 'barney', 'active': false }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.takeWhile(users, ['active', false]); + * // => objects for ['barney', 'fred'] + * + * // The `_.property` iteratee shorthand. + * _.takeWhile(users, 'active'); + * // => [] + */ + function takeWhile(array, predicate) { + return (array && array.length) + ? baseWhile(array, getIteratee(predicate, 3)) + : []; + } + + /** + * Creates an array of unique values, in order, from all given arrays using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.union([2], [1, 2]); + * // => [2, 1] + */ + var union = baseRest(function(arrays) { + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); + }); + + /** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which uniqueness is computed. Result values are chosen from the first + * array in which the value occurs. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * _.unionBy([2.1], [1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + var unionBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. Result values are chosen from + * the first array in which the value occurs. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var unionWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); + }); + + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. The order of result values is determined by the order they occur + * in the array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + function uniq(array) { + return (array && array.length) ? baseUniq(array) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The order of result values is determined by the + * order they occur in the array. The iteratee is invoked with one argument: + * (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // The `_.property` iteratee shorthand. + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniqBy(array, iteratee) { + return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; + } + + /** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The order of result values is + * determined by the order they occur in the array.The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ + function uniqWith(array, comparator) { + comparator = typeof comparator == 'function' ? comparator : undefined; + return (array && array.length) ? baseUniq(array, undefined, comparator) : []; + } + + /** + * This method is like `_.zip` except that it accepts an array of grouped + * elements and creates an array regrouping the elements to their pre-zip + * configuration. + * + * @static + * @memberOf _ + * @since 1.2.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + * + * _.unzip(zipped); + * // => [['a', 'b'], [1, 2], [true, false]] + */ + function unzip(array) { + if (!(array && array.length)) { + return []; + } + var length = 0; + array = arrayFilter(array, function(group) { + if (isArrayLikeObject(group)) { + length = nativeMax(group.length, length); + return true; + } + }); + return baseTimes(length, function(index) { + return arrayMap(array, baseProperty(index)); + }); + } + + /** + * This method is like `_.unzip` except that it accepts `iteratee` to specify + * how regrouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {Array} array The array of grouped elements to process. + * @param {Function} [iteratee=_.identity] The function to combine + * regrouped values. + * @returns {Array} Returns the new array of regrouped elements. + * @example + * + * var zipped = _.zip([1, 2], [10, 20], [100, 200]); + * // => [[1, 10, 100], [2, 20, 200]] + * + * _.unzipWith(zipped, _.add); + * // => [3, 30, 300] + */ + function unzipWith(array, iteratee) { + if (!(array && array.length)) { + return []; + } + var result = unzip(array); + if (iteratee == null) { + return result; + } + return arrayMap(result, function(group) { + return apply(iteratee, undefined, group); + }); + } + + /** + * Creates an array excluding all given values using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * **Note:** Unlike `_.pull`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {...*} [values] The values to exclude. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.xor + * @example + * + * _.without([2, 1, 2, 3], 1, 2); + * // => [3] + */ + var without = baseRest(function(array, values) { + return isArrayLikeObject(array) + ? baseDifference(array, values) + : []; + }); + + /** + * Creates an array of unique values that is the + * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) + * of the given arrays. The order of result values is determined by the order + * they occur in the arrays. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @returns {Array} Returns the new array of filtered values. + * @see _.difference, _.without + * @example + * + * _.xor([2, 1], [2, 3]); + * // => [1, 3] + */ + var xor = baseRest(function(arrays) { + return baseXor(arrayFilter(arrays, isArrayLikeObject)); + }); + + /** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by + * which by which they're compared. The order of result values is determined + * by the order they occur in the arrays. The iteratee is invoked with one + * argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); + * // => [1.2, 3.4] + * + * // The `_.property` iteratee shorthand. + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + var xorBy = baseRest(function(arrays) { + var iteratee = last(arrays); + if (isArrayLikeObject(iteratee)) { + iteratee = undefined; + } + return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); + }); + + /** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The order of result values is + * determined by the order they occur in the arrays. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Array + * @param {...Array} [arrays] The arrays to inspect. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + var xorWith = baseRest(function(arrays) { + var comparator = last(arrays); + comparator = typeof comparator == 'function' ? comparator : undefined; + return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); + }); + + /** + * Creates an array of grouped elements, the first of which contains the + * first elements of the given arrays, the second of which contains the + * second elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zip(['a', 'b'], [1, 2], [true, false]); + * // => [['a', 1, true], ['b', 2, false]] + */ + var zip = baseRest(unzip); + + /** + * This method is like `_.fromPairs` except that it accepts two arrays, + * one of property identifiers and one of corresponding values. + * + * @static + * @memberOf _ + * @since 0.4.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObject(['a', 'b'], [1, 2]); + * // => { 'a': 1, 'b': 2 } + */ + function zipObject(props, values) { + return baseZipObject(props || [], values || [], assignValue); + } + + /** + * This method is like `_.zipObject` except that it supports property paths. + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Array + * @param {Array} [props=[]] The property identifiers. + * @param {Array} [values=[]] The property values. + * @returns {Object} Returns the new object. + * @example + * + * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); + * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } + */ + function zipObjectDeep(props, values) { + return baseZipObject(props || [], values || [], baseSet); + } + + /** + * This method is like `_.zip` except that it accepts `iteratee` to specify + * how grouped values should be combined. The iteratee is invoked with the + * elements of each group: (...group). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Array + * @param {...Array} [arrays] The arrays to process. + * @param {Function} [iteratee=_.identity] The function to combine + * grouped values. + * @returns {Array} Returns the new array of grouped elements. + * @example + * + * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { + * return a + b + c; + * }); + * // => [111, 222] + */ + var zipWith = baseRest(function(arrays) { + var length = arrays.length, + iteratee = length > 1 ? arrays[length - 1] : undefined; + + iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; + return unzipWith(arrays, iteratee); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` wrapper instance that wraps `value` with explicit method + * chain sequences enabled. The result of such sequences must be unwrapped + * with `_#value`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Seq + * @param {*} value The value to wrap. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'pebbles', 'age': 1 } + * ]; + * + * var youngest = _ + * .chain(users) + * .sortBy('age') + * .map(function(o) { + * return o.user + ' is ' + o.age; + * }) + * .head() + * .value(); + * // => 'pebbles is 1' + */ + function chain(value) { + var result = lodash(value); + result.__chain__ = true; + return result; + } + + /** + * This method invokes `interceptor` and returns `value`. The interceptor + * is invoked with one argument; (value). The purpose of this method is to + * "tap into" a method chain sequence in order to modify intermediate results. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns `value`. + * @example + * + * _([1, 2, 3]) + * .tap(function(array) { + * // Mutate input array. + * array.pop(); + * }) + * .reverse() + * .value(); + * // => [2, 1] + */ + function tap(value, interceptor) { + interceptor(value); + return value; + } + + /** + * This method is like `_.tap` except that it returns the result of `interceptor`. + * The purpose of this method is to "pass thru" values replacing intermediate + * results in a method chain sequence. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Seq + * @param {*} value The value to provide to `interceptor`. + * @param {Function} interceptor The function to invoke. + * @returns {*} Returns the result of `interceptor`. + * @example + * + * _(' abc ') + * .chain() + * .trim() + * .thru(function(value) { + * return [value]; + * }) + * .value(); + * // => ['abc'] + */ + function thru(value, interceptor) { + return interceptor(value); + } + + /** + * This method is the wrapper version of `_.at`. + * + * @name at + * @memberOf _ + * @since 1.0.0 + * @category Seq + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _(object).at(['a[0].b.c', 'a[1]']).value(); + * // => [3, 4] + */ + var wrapperAt = flatRest(function(paths) { + var length = paths.length, + start = length ? paths[0] : 0, + value = this.__wrapped__, + interceptor = function(object) { return baseAt(object, paths); }; + + if (length > 1 || this.__actions__.length || + !(value instanceof LazyWrapper) || !isIndex(start)) { + return this.thru(interceptor); + } + value = value.slice(start, +start + (length ? 1 : 0)); + value.__actions__.push({ + 'func': thru, + 'args': [interceptor], + 'thisArg': undefined + }); + return new LodashWrapper(value, this.__chain__).thru(function(array) { + if (length && !array.length) { + array.push(undefined); + } + return array; + }); + }); + + /** + * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. + * + * @name chain + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // A sequence without explicit chaining. + * _(users).head(); + * // => { 'user': 'barney', 'age': 36 } + * + * // A sequence with explicit chaining. + * _(users) + * .chain() + * .head() + * .pick('user') + * .value(); + * // => { 'user': 'barney' } + */ + function wrapperChain() { + return chain(this); + } + + /** + * Executes the chain sequence and returns the wrapped result. + * + * @name commit + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2]; + * var wrapped = _(array).push(3); + * + * console.log(array); + * // => [1, 2] + * + * wrapped = wrapped.commit(); + * console.log(array); + * // => [1, 2, 3] + * + * wrapped.last(); + * // => 3 + * + * console.log(array); + * // => [1, 2, 3] + */ + function wrapperCommit() { + return new LodashWrapper(this.value(), this.__chain__); + } + + /** + * Gets the next value on a wrapped object following the + * [iterator protocol](https://mdn.io/iteration_protocols#iterator). + * + * @name next + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the next iterator value. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped.next(); + * // => { 'done': false, 'value': 1 } + * + * wrapped.next(); + * // => { 'done': false, 'value': 2 } + * + * wrapped.next(); + * // => { 'done': true, 'value': undefined } + */ + function wrapperNext() { + if (this.__values__ === undefined) { + this.__values__ = toArray(this.value()); + } + var done = this.__index__ >= this.__values__.length, + value = done ? undefined : this.__values__[this.__index__++]; + + return { 'done': done, 'value': value }; + } + + /** + * Enables the wrapper to be iterable. + * + * @name Symbol.iterator + * @memberOf _ + * @since 4.0.0 + * @category Seq + * @returns {Object} Returns the wrapper object. + * @example + * + * var wrapped = _([1, 2]); + * + * wrapped[Symbol.iterator]() === wrapped; + * // => true + * + * Array.from(wrapped); + * // => [1, 2] + */ + function wrapperToIterator() { + return this; + } + + /** + * Creates a clone of the chain sequence planting `value` as the wrapped value. + * + * @name plant + * @memberOf _ + * @since 3.2.0 + * @category Seq + * @param {*} value The value to plant. + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * function square(n) { + * return n * n; + * } + * + * var wrapped = _([1, 2]).map(square); + * var other = wrapped.plant([3, 4]); + * + * other.value(); + * // => [9, 16] + * + * wrapped.value(); + * // => [1, 4] + */ + function wrapperPlant(value) { + var result, + parent = this; + + while (parent instanceof baseLodash) { + var clone = wrapperClone(parent); + clone.__index__ = 0; + clone.__values__ = undefined; + if (result) { + previous.__wrapped__ = clone; + } else { + result = clone; + } + var previous = clone; + parent = parent.__wrapped__; + } + previous.__wrapped__ = value; + return result; + } + + /** + * This method is the wrapper version of `_.reverse`. + * + * **Note:** This method mutates the wrapped array. + * + * @name reverse + * @memberOf _ + * @since 0.1.0 + * @category Seq + * @returns {Object} Returns the new `lodash` wrapper instance. + * @example + * + * var array = [1, 2, 3]; + * + * _(array).reverse().value() + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + function wrapperReverse() { + var value = this.__wrapped__; + if (value instanceof LazyWrapper) { + var wrapped = value; + if (this.__actions__.length) { + wrapped = new LazyWrapper(this); + } + wrapped = wrapped.reverse(); + wrapped.__actions__.push({ + 'func': thru, + 'args': [reverse], + 'thisArg': undefined + }); + return new LodashWrapper(wrapped, this.__chain__); + } + return this.thru(reverse); + } + + /** + * Executes the chain sequence to resolve the unwrapped value. + * + * @name value + * @memberOf _ + * @since 0.1.0 + * @alias toJSON, valueOf + * @category Seq + * @returns {*} Returns the resolved unwrapped value. + * @example + * + * _([1, 2, 3]).value(); + * // => [1, 2, 3] + */ + function wrapperValue() { + return baseWrapperValue(this.__wrapped__, this.__actions__); + } + + /*------------------------------------------------------------------------*/ + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the number of times the key was returned by `iteratee`. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': 1, '6': 2 } + * + * // The `_.property` iteratee shorthand. + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + var countBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + ++result[key]; + } else { + baseAssignValue(result, key, 1); + } + }); + + /** + * Checks if `predicate` returns truthy for **all** elements of `collection`. + * Iteration is stopped once `predicate` returns falsey. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * **Note:** This method returns `true` for + * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because + * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of + * elements of empty collections. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if all elements pass the predicate check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes'], Boolean); + * // => false + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.every(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.every(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.every(users, 'active'); + * // => false + */ + function every(collection, predicate, guard) { + var func = isArray(collection) ? arrayEvery : baseEvery; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning an array of all elements + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * **Note:** Unlike `_.remove`, this method returns a new array. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.reject + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false } + * ]; + * + * _.filter(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.filter(users, { 'age': 36, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.filter(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.filter(users, 'active'); + * // => objects for ['barney'] + * + * // Combining several predicates using `_.overEvery` or `_.overSome`. + * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); + * // => objects for ['fred', 'barney'] + */ + function filter(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ + var find = createFind(findIndex); + + /** + * This method is like `_.find` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param {number} [fromIndex=collection.length-1] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(n) { + * return n % 2 == 1; + * }); + * // => 3 + */ + var findLast = createFind(findLastIndex); + + /** + * Creates a flattened array of values by running each element in `collection` + * thru `iteratee` and flattening the mapped results. The iteratee is invoked + * with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [n, n]; + * } + * + * _.flatMap([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMap(collection, iteratee) { + return baseFlatten(map(collection, iteratee), 1); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + function flatMapDeep(collection, iteratee) { + return baseFlatten(map(collection, iteratee), INFINITY); + } + + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @static + * @memberOf _ + * @since 4.7.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {number} [depth=1] The maximum recursion depth. + * @returns {Array} Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ + function flatMapDepth(collection, iteratee, depth) { + depth = depth === undefined ? 1 : toInteger(depth); + return baseFlatten(map(collection, iteratee), depth); + } + + /** + * Iterates over elements of `collection` and invokes `iteratee` for each element. + * The iteratee is invoked with three arguments: (value, index|key, collection). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * **Note:** As with other "Collections" methods, objects with a "length" + * property are iterated like arrays. To avoid this behavior use `_.forIn` + * or `_.forOwn` for object iteration. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @alias each + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEachRight + * @example + * + * _.forEach([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `1` then `2`. + * + * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forEach(collection, iteratee) { + var func = isArray(collection) ? arrayEach : baseEach; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forEach` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @alias eachRight + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + * @see _.forEach + * @example + * + * _.forEachRight([1, 2], function(value) { + * console.log(value); + * }); + * // => Logs `2` then `1`. + */ + function forEachRight(collection, iteratee) { + var func = isArray(collection) ? arrayEachRight : baseEachRight; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The order of grouped values + * is determined by the order they occur in `collection`. The corresponding + * value of each key is an array of elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([6.1, 4.2, 6.3], Math.floor); + * // => { '4': [4.2], '6': [6.1, 6.3] } + * + * // The `_.property` iteratee shorthand. + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + var groupBy = createAggregator(function(result, value, key) { + if (hasOwnProperty.call(result, key)) { + result[key].push(value); + } else { + baseAssignValue(result, key, [value]); + } + }); + + /** + * Checks if `value` is in `collection`. If `collection` is a string, it's + * checked for a substring of `value`, otherwise + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * is used for equality comparisons. If `fromIndex` is negative, it's used as + * the offset from the end of `collection`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {boolean} Returns `true` if `value` is found, else `false`. + * @example + * + * _.includes([1, 2, 3], 1); + * // => true + * + * _.includes([1, 2, 3], 1, 2); + * // => false + * + * _.includes({ 'a': 1, 'b': 2 }, 1); + * // => true + * + * _.includes('abcd', 'bc'); + * // => true + */ + function includes(collection, value, fromIndex, guard) { + collection = isArrayLike(collection) ? collection : values(collection); + fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; + + var length = collection.length; + if (fromIndex < 0) { + fromIndex = nativeMax(length + fromIndex, 0); + } + return isString(collection) + ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) + : (!!length && baseIndexOf(collection, value, fromIndex) > -1); + } + + /** + * Invokes the method at `path` of each element in `collection`, returning + * an array of the results of each invoked method. Any additional arguments + * are provided to each invoked method. If `path` is a function, it's invoked + * for, and `this` bound to, each element in `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array|Function|string} path The path of the method to invoke or + * the function invoked per iteration. + * @param {...*} [args] The arguments to invoke each method with. + * @returns {Array} Returns the array of results. + * @example + * + * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invokeMap([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + var invokeMap = baseRest(function(collection, path, args) { + var index = -1, + isFunc = typeof path == 'function', + result = isArrayLike(collection) ? Array(collection.length) : []; + + baseEach(collection, function(value) { + result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); + }); + return result; + }); + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` thru `iteratee`. The corresponding value of + * each key is the last element responsible for generating the key. The + * iteratee is invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee to transform keys. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var array = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.keyBy(array, function(o) { + * return String.fromCharCode(o.code); + * }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.keyBy(array, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + */ + var keyBy = createAggregator(function(result, value, key) { + baseAssignValue(result, key, value); + }); + + /** + * Creates an array of values by running each element in `collection` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. + * + * The guarded methods are: + * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, + * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, + * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, + * `template`, `trim`, `trimEnd`, `trimStart`, and `words` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new mapped array. + * @example + * + * function square(n) { + * return n * n; + * } + * + * _.map([4, 8], square); + * // => [16, 64] + * + * _.map({ 'a': 4, 'b': 8 }, square); + * // => [16, 64] (iteration order is not guaranteed) + * + * var users = [ + * { 'user': 'barney' }, + * { 'user': 'fred' } + * ]; + * + * // The `_.property` iteratee shorthand. + * _.map(users, 'user'); + * // => ['barney', 'fred'] + */ + function map(collection, iteratee) { + var func = isArray(collection) ? arrayMap : baseMap; + return func(collection, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] + * The iteratees to sort by. + * @param {string[]} [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 40 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // Sort by `user` in ascending order and by `age` in descending order. + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] + */ + function orderBy(collection, iteratees, orders, guard) { + if (collection == null) { + return []; + } + if (!isArray(iteratees)) { + iteratees = iteratees == null ? [] : [iteratees]; + } + orders = guard ? undefined : orders; + if (!isArray(orders)) { + orders = orders == null ? [] : [orders]; + } + return baseOrderBy(collection, iteratees, orders); + } + + /** + * Creates an array of elements split into two groups, the first of which + * contains elements `predicate` returns truthy for, the second of which + * contains elements `predicate` returns falsey for. The predicate is + * invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the array of grouped elements. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true }, + * { 'user': 'pebbles', 'age': 1, 'active': false } + * ]; + * + * _.partition(users, function(o) { return o.active; }); + * // => objects for [['fred'], ['barney', 'pebbles']] + * + * // The `_.matches` iteratee shorthand. + * _.partition(users, { 'age': 1, 'active': false }); + * // => objects for [['pebbles'], ['barney', 'fred']] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.partition(users, ['active', false]); + * // => objects for [['barney', 'pebbles'], ['fred']] + * + * // The `_.property` iteratee shorthand. + * _.partition(users, 'active'); + * // => objects for [['fred'], ['barney', 'pebbles']] + */ + var partition = createAggregator(function(result, value, key) { + result[key ? 0 : 1].push(value); + }, function() { return [[], []]; }); + + /** + * Reduces `collection` to a value which is the accumulated result of running + * each element in `collection` thru `iteratee`, where each successive + * invocation is supplied the return value of the previous. If `accumulator` + * is not given, the first element of `collection` is used as the initial + * value. The iteratee is invoked with four arguments: + * (accumulator, value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like + * `_.reduce`, `_.reduceRight`, and `_.transform`. + * + * The guarded methods are: + * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, + * and `sortBy` + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduceRight + * @example + * + * _.reduce([1, 2], function(sum, n) { + * return sum + n; + * }, 0); + * // => 3 + * + * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * return result; + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) + */ + function reduce(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduce : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); + } + + /** + * This method is like `_.reduce` except that it iterates over elements of + * `collection` from right to left. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The initial value. + * @returns {*} Returns the accumulated value. + * @see _.reduce + * @example + * + * var array = [[0, 1], [2, 3], [4, 5]]; + * + * _.reduceRight(array, function(flattened, other) { + * return flattened.concat(other); + * }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, iteratee, accumulator) { + var func = isArray(collection) ? arrayReduceRight : baseReduce, + initAccum = arguments.length < 3; + + return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); + } + + /** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.reject(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.reject(users, 'active'); + * // => objects for ['barney'] + */ + function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(getIteratee(predicate, 3))); + } + + /** + * Gets a random element from `collection`. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @returns {*} Returns the random element. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + */ + function sample(collection) { + var func = isArray(collection) ? arraySample : baseSample; + return func(collection); + } + + /** + * Gets `n` random elements at unique keys from `collection` up to the + * size of `collection`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Collection + * @param {Array|Object} collection The collection to sample. + * @param {number} [n=1] The number of elements to sample. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Array} Returns the random elements. + * @example + * + * _.sampleSize([1, 2, 3], 2); + * // => [3, 1] + * + * _.sampleSize([1, 2, 3], 4); + * // => [2, 3, 1] + */ + function sampleSize(collection, n, guard) { + if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + var func = isArray(collection) ? arraySampleSize : baseSampleSize; + return func(collection, n); + } + + /** + * Creates an array of shuffled values, using a version of the + * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to shuffle. + * @returns {Array} Returns the new shuffled array. + * @example + * + * _.shuffle([1, 2, 3, 4]); + * // => [4, 1, 3, 2] + */ + function shuffle(collection) { + var func = isArray(collection) ? arrayShuffle : baseShuffle; + return func(collection); + } + + /** + * Gets the size of `collection` by returning its length for array-like + * values or the number of own enumerable string keyed properties for objects. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns the collection size. + * @example + * + * _.size([1, 2, 3]); + * // => 3 + * + * _.size({ 'a': 1, 'b': 2 }); + * // => 2 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + if (collection == null) { + return 0; + } + if (isArrayLike(collection)) { + return isString(collection) ? stringSize(collection) : collection.length; + } + var tag = getTag(collection); + if (tag == mapTag || tag == setTag) { + return collection.size; + } + return baseKeys(collection).length; + } + + /** + * Checks if `predicate` returns truthy for **any** element of `collection`. + * Iteration is stopped once `predicate` returns truthy. The predicate is + * invoked with three arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var users = [ + * { 'user': 'barney', 'active': true }, + * { 'user': 'fred', 'active': false } + * ]; + * + * // The `_.matches` iteratee shorthand. + * _.some(users, { 'user': 'barney', 'active': false }); + * // => false + * + * // The `_.matchesProperty` iteratee shorthand. + * _.some(users, ['active', false]); + * // => true + * + * // The `_.property` iteratee shorthand. + * _.some(users, 'active'); + * // => true + */ + function some(collection, predicate, guard) { + var func = isArray(collection) ? arraySome : baseSome; + if (guard && isIterateeCall(collection, predicate, guard)) { + predicate = undefined; + } + return func(collection, getIteratee(predicate, 3)); + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection thru each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {...(Function|Function[])} [iteratees=[_.identity]] + * The iteratees to sort by. + * @returns {Array} Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 30 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, [function(o) { return o.user; }]); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] + */ + var sortBy = baseRest(function(collection, iteratees) { + if (collection == null) { + return []; + } + var length = iteratees.length; + if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { + iteratees = []; + } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { + iteratees = [iteratees[0]]; + } + return baseOrderBy(collection, baseFlatten(iteratees, 1), []); + }); + + /*------------------------------------------------------------------------*/ + + /** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ + var now = ctxNow || function() { + return root.Date.now(); + }; + + /*------------------------------------------------------------------------*/ + + /** + * The opposite of `_.before`; this method creates a function that invokes + * `func` once it's called `n` or more times. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {number} n The number of calls before `func` is invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => Logs 'done saving!' after the two async saves have completed. + */ + function after(n, func) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that invokes `func`, with up to `n` arguments, + * ignoring any additional arguments. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @param {number} [n=func.length] The arity cap. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.ary(parseInt, 1)); + * // => [6, 8, 10] + */ + function ary(func, n, guard) { + n = guard ? undefined : n; + n = (func && n == null) ? func.length : n; + return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); + } + + /** + * Creates a function that invokes `func`, with the `this` binding and arguments + * of the created function, while it's called less than `n` times. Subsequent + * calls to the created function return the result of the last `func` invocation. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {number} n The number of calls at which `func` is no longer invoked. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * jQuery(element).on('click', _.before(5, addContactToList)); + * // => Allows adding up to 4 contacts to the list. + */ + function before(n, func) { + var result; + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + n = toInteger(n); + return function() { + if (--n > 0) { + result = func.apply(this, arguments); + } + if (n <= 1) { + func = undefined; + } + return result; + }; + } + + /** + * Creates a function that invokes `func` with the `this` binding of `thisArg` + * and `partials` prepended to the arguments it receives. + * + * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for partially applied arguments. + * + * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" + * property of bound functions. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to bind. + * @param {*} thisArg The `this` binding of `func`. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * function greet(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * + * var object = { 'user': 'fred' }; + * + * var bound = _.bind(greet, object, 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * // Bound with placeholders. + * var bound = _.bind(greet, object, _, '!'); + * bound('hi'); + * // => 'hi fred!' + */ + var bind = baseRest(function(func, thisArg, partials) { + var bitmask = WRAP_BIND_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bind)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(func, bitmask, thisArg, partials, holders); + }); + + /** + * Creates a function that invokes the method at `object[key]` with `partials` + * prepended to the arguments it receives. + * + * This method differs from `_.bind` by allowing bound functions to reference + * methods that may be redefined or don't yet exist. See + * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) + * for more details. + * + * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Function + * @param {Object} object The object to invoke the method on. + * @param {string} key The key of the method. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'user': 'fred', + * 'greet': function(greeting, punctuation) { + * return greeting + ' ' + this.user + punctuation; + * } + * }; + * + * var bound = _.bindKey(object, 'greet', 'hi'); + * bound('!'); + * // => 'hi fred!' + * + * object.greet = function(greeting, punctuation) { + * return greeting + 'ya ' + this.user + punctuation; + * }; + * + * bound('!'); + * // => 'hiya fred!' + * + * // Bound with placeholders. + * var bound = _.bindKey(object, 'greet', _, '!'); + * bound('hi'); + * // => 'hiya fred!' + */ + var bindKey = baseRest(function(object, key, partials) { + var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; + if (partials.length) { + var holders = replaceHolders(partials, getHolder(bindKey)); + bitmask |= WRAP_PARTIAL_FLAG; + } + return createWrap(key, bitmask, object, partials, holders); + }); + + /** + * Creates a function that accepts arguments of `func` and either invokes + * `func` returning its result, if at least `arity` number of arguments have + * been provided, or returns a function that accepts the remaining `func` + * arguments, and so on. The arity of `func` may be specified if `func.length` + * is not sufficient. + * + * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, + * may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curry(abc); + * + * curried(1)(2)(3); + * // => [1, 2, 3] + * + * curried(1, 2)(3); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(1)(_, 3)(2); + * // => [1, 2, 3] + */ + function curry(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curry.placeholder; + return result; + } + + /** + * This method is like `_.curry` except that arguments are applied to `func` + * in the manner of `_.partialRight` instead of `_.partial`. + * + * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for provided arguments. + * + * **Note:** This method doesn't set the "length" property of curried functions. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the new curried function. + * @example + * + * var abc = function(a, b, c) { + * return [a, b, c]; + * }; + * + * var curried = _.curryRight(abc); + * + * curried(3)(2)(1); + * // => [1, 2, 3] + * + * curried(2, 3)(1); + * // => [1, 2, 3] + * + * curried(1, 2, 3); + * // => [1, 2, 3] + * + * // Curried with placeholders. + * curried(3)(1, _)(2); + * // => [1, 2, 3] + */ + function curryRight(func, arity, guard) { + arity = guard ? undefined : arity; + var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); + result.placeholder = curryRight.placeholder; + return result; + } + + /** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + timeWaiting = wait - timeSinceLastCall; + + return maxing + ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) + : timeWaiting; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + clearTimeout(timerId); + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + + /** + * Defers invoking the `func` until the current call stack has cleared. Any + * additional arguments are provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to defer. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { + * console.log(text); + * }, 'deferred'); + * // => Logs 'deferred' after one millisecond. + */ + var defer = baseRest(function(func, args) { + return baseDelay(func, 1, args); + }); + + /** + * Invokes `func` after `wait` milliseconds. Any additional arguments are + * provided to `func` when it's invoked. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay invocation. + * @param {...*} [args] The arguments to invoke `func` with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { + * console.log(text); + * }, 1000, 'later'); + * // => Logs 'later' after one second. + */ + var delay = baseRest(function(func, wait, args) { + return baseDelay(func, toNumber(wait) || 0, args); + }); + + /** + * Creates a function that invokes `func` with arguments reversed. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to flip arguments for. + * @returns {Function} Returns the new flipped function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ + function flip(func) { + return createWrap(func, WRAP_FLIP_FLAG); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `clear`, `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ + function memoize(func, resolver) { + if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result) || cache; + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; + } + + // Expose `MapCache`. + memoize.Cache = MapCache; + + /** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ + function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; + } + + /** + * Creates a function that is restricted to invoking `func` once. Repeat calls + * to the function return the value of the first invocation. The `func` is + * invoked with the `this` binding and arguments of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // => `createApplication` is invoked once + */ + function once(func) { + return before(2, func); + } + + /** + * Creates a function that invokes `func` with its arguments transformed. + * + * @static + * @since 4.0.0 + * @memberOf _ + * @category Function + * @param {Function} func The function to wrap. + * @param {...(Function|Function[])} [transforms=[_.identity]] + * The argument transforms. + * @returns {Function} Returns the new function. + * @example + * + * function doubled(n) { + * return n * 2; + * } + * + * function square(n) { + * return n * n; + * } + * + * var func = _.overArgs(function(x, y) { + * return [x, y]; + * }, [square, doubled]); + * + * func(9, 3); + * // => [81, 6] + * + * func(10, 5); + * // => [100, 10] + */ + var overArgs = castRest(function(func, transforms) { + transforms = (transforms.length == 1 && isArray(transforms[0])) + ? arrayMap(transforms[0], baseUnary(getIteratee())) + : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); + + var funcsLength = transforms.length; + return baseRest(function(args) { + var index = -1, + length = nativeMin(args.length, funcsLength); + + while (++index < length) { + args[index] = transforms[index].call(this, args[index]); + } + return apply(func, this, args); + }); + }); + + /** + * Creates a function that invokes `func` with `partials` prepended to the + * arguments it receives. This method is like `_.bind` except it does **not** + * alter the `this` binding. + * + * The `_.partial.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 0.2.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var sayHelloTo = _.partial(greet, 'hello'); + * sayHelloTo('fred'); + * // => 'hello fred' + * + * // Partially applied with placeholders. + * var greetFred = _.partial(greet, _, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + */ + var partial = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partial)); + return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); + }); + + /** + * This method is like `_.partial` except that partially applied arguments + * are appended to the arguments it receives. + * + * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic + * builds, may be used as a placeholder for partially applied arguments. + * + * **Note:** This method doesn't set the "length" property of partially + * applied functions. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Function + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [partials] The arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * function greet(greeting, name) { + * return greeting + ' ' + name; + * } + * + * var greetFred = _.partialRight(greet, 'fred'); + * greetFred('hi'); + * // => 'hi fred' + * + * // Partially applied with placeholders. + * var sayHelloTo = _.partialRight(greet, 'hello', _); + * sayHelloTo('fred'); + * // => 'hello fred' + */ + var partialRight = baseRest(function(func, partials) { + var holders = replaceHolders(partials, getHolder(partialRight)); + return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); + }); + + /** + * Creates a function that invokes `func` with arguments arranged according + * to the specified `indexes` where the argument value at the first index is + * provided as the first argument, the argument value at the second index is + * provided as the second argument, and so on. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} func The function to rearrange arguments for. + * @param {...(number|number[])} indexes The arranged argument indexes. + * @returns {Function} Returns the new function. + * @example + * + * var rearged = _.rearg(function(a, b, c) { + * return [a, b, c]; + * }, [2, 0, 1]); + * + * rearged('b', 'c', 'a') + * // => ['a', 'b', 'c'] + */ + var rearg = flatRest(function(func, indexes) { + return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); + }); + + /** + * Creates a function that invokes `func` with the `this` binding of the + * created function and arguments from `start` and beyond provided as + * an array. + * + * **Note:** This method is based on the + * [rest parameter](https://mdn.io/rest_parameters). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.rest(function(what, names) { + * return what + ' ' + _.initial(names).join(', ') + + * (_.size(names) > 1 ? ', & ' : '') + _.last(names); + * }); + * + * say('hello', 'fred', 'barney', 'pebbles'); + * // => 'hello fred, barney, & pebbles' + */ + function rest(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start === undefined ? start : toInteger(start); + return baseRest(func, start); + } + + /** + * Creates a function that invokes `func` with the `this` binding of the + * create function and an array of arguments much like + * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). + * + * **Note:** This method is based on the + * [spread operator](https://mdn.io/spread_operator). + * + * @static + * @memberOf _ + * @since 3.2.0 + * @category Function + * @param {Function} func The function to spread arguments over. + * @param {number} [start=0] The start position of the spread. + * @returns {Function} Returns the new function. + * @example + * + * var say = _.spread(function(who, what) { + * return who + ' says ' + what; + * }); + * + * say(['fred', 'hello']); + * // => 'fred says hello' + * + * var numbers = Promise.all([ + * Promise.resolve(40), + * Promise.resolve(36) + * ]); + * + * numbers.then(_.spread(function(x, y) { + * return x + y; + * })); + * // => a Promise of 76 + */ + function spread(func, start) { + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + start = start == null ? 0 : nativeMax(toInteger(start), 0); + return baseRest(function(args) { + var array = args[start], + otherArgs = castSlice(args, 0, start); + + if (array) { + arrayPush(otherArgs, array); + } + return apply(func, this, otherArgs); + }); + } + + /** + * Creates a throttled function that only invokes `func` at most once per + * every `wait` milliseconds. The throttled function comes with a `cancel` + * method to cancel delayed `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` to indicate whether `func` + * should be invoked on the leading and/or trailing edge of the `wait` + * timeout. The `func` is invoked with the last arguments provided to the + * throttled function. Subsequent calls to the throttled function return the + * result of the last `func` invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the throttled function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.throttle` and `_.debounce`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to throttle. + * @param {number} [wait=0] The number of milliseconds to throttle invocations to. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=true] + * Specify invoking on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // Avoid excessively updating the position while scrolling. + * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); + * + * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); + } + + /** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Function + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ + function unary(func) { + return ary(func, 1); + } + + /** + * Creates a function that provides `value` to `wrapper` as its first + * argument. Any additional arguments provided to the function are appended + * to those provided to the `wrapper`. The wrapper is invoked with the `this` + * binding of the created function. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {*} value The value to wrap. + * @param {Function} [wrapper=identity] The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '

' + func(text) + '

'; + * }); + * + * p('fred, barney, & pebbles'); + * // => '

fred, barney, & pebbles

' + */ + function wrap(value, wrapper) { + return partial(castFunction(wrapper), value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Casts `value` as an array if it's not one. + * + * @static + * @memberOf _ + * @since 4.4.0 + * @category Lang + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast array. + * @example + * + * _.castArray(1); + * // => [1] + * + * _.castArray({ 'a': 1 }); + * // => [{ 'a': 1 }] + * + * _.castArray('abc'); + * // => ['abc'] + * + * _.castArray(null); + * // => [null] + * + * _.castArray(undefined); + * // => [undefined] + * + * _.castArray(); + * // => [] + * + * var array = [1, 2, 3]; + * console.log(_.castArray(array) === array); + * // => true + */ + function castArray() { + if (!arguments.length) { + return []; + } + var value = arguments[0]; + return isArray(value) ? value : [value]; + } + + /** + * Creates a shallow clone of `value`. + * + * **Note:** This method is loosely based on the + * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) + * and supports cloning arrays, array buffers, booleans, date objects, maps, + * numbers, `Object` objects, regexes, sets, strings, symbols, and typed + * arrays. The own enumerable properties of `arguments` objects are cloned + * as plain objects. An empty object is returned for uncloneable values such + * as error objects, functions, DOM nodes, and WeakMaps. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to clone. + * @returns {*} Returns the cloned value. + * @see _.cloneDeep + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var shallow = _.clone(objects); + * console.log(shallow[0] === objects[0]); + * // => true + */ + function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.clone` except that it accepts `customizer` which + * is invoked to produce the cloned value. If `customizer` returns `undefined`, + * cloning is handled by the method instead. The `customizer` is invoked with + * up to four arguments; (value [, index|key, object, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the cloned value. + * @see _.cloneDeepWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(false); + * } + * } + * + * var el = _.cloneWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 0 + */ + function cloneWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * This method is like `_.clone` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @returns {*} Returns the deep cloned value. + * @see _.clone + * @example + * + * var objects = [{ 'a': 1 }, { 'b': 2 }]; + * + * var deep = _.cloneDeep(objects); + * console.log(deep[0] === objects[0]); + * // => false + */ + function cloneDeep(value) { + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); + } + + /** + * This method is like `_.cloneWith` except that it recursively clones `value`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to recursively clone. + * @param {Function} [customizer] The function to customize cloning. + * @returns {*} Returns the deep cloned value. + * @see _.cloneWith + * @example + * + * function customizer(value) { + * if (_.isElement(value)) { + * return value.cloneNode(true); + * } + * } + * + * var el = _.cloneDeepWith(document.body, customizer); + * + * console.log(el === document.body); + * // => false + * console.log(el.nodeName); + * // => 'BODY' + * console.log(el.childNodes.length); + * // => 20 + */ + function cloneDeepWith(value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); + } + + /** + * Checks if `object` conforms to `source` by invoking the predicate + * properties of `source` with the corresponding property values of `object`. + * + * **Note:** This method is equivalent to `_.conforms` when `source` is + * partially applied. + * + * @static + * @memberOf _ + * @since 4.14.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property predicates to conform to. + * @returns {boolean} Returns `true` if `object` conforms, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); + * // => true + * + * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); + * // => false + */ + function conformsTo(object, source) { + return source == null || baseConformsTo(object, source, keys(source)); + } + + /** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + function eq(value, other) { + return value === other || (value !== value && other !== other); + } + + /** + * Checks if `value` is greater than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than `other`, + * else `false`. + * @see _.lt + * @example + * + * _.gt(3, 1); + * // => true + * + * _.gt(3, 3); + * // => false + * + * _.gt(1, 3); + * // => false + */ + var gt = createRelationalOperation(baseGt); + + /** + * Checks if `value` is greater than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is greater than or equal to + * `other`, else `false`. + * @see _.lte + * @example + * + * _.gte(3, 1); + * // => true + * + * _.gte(3, 3); + * // => true + * + * _.gte(1, 3); + * // => false + */ + var gte = createRelationalOperation(function(value, other) { + return value >= other; + }); + + /** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); + }; + + /** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ + var isArray = Array.isArray; + + /** + * Checks if `value` is classified as an `ArrayBuffer` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. + * @example + * + * _.isArrayBuffer(new ArrayBuffer(2)); + * // => true + * + * _.isArrayBuffer(new Array(2)); + * // => false + */ + var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; + + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); + } + + /** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ + function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); + } + + /** + * Checks if `value` is classified as a boolean primitive or object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. + * @example + * + * _.isBoolean(false); + * // => true + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + (isObjectLike(value) && baseGetTag(value) == boolTag); + } + + /** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ + var isBuffer = nativeIsBuffer || stubFalse; + + /** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ + var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + + /** + * Checks if `value` is likely a DOM element. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + * + * _.isElement(''); + * // => false + */ + function isElement(value) { + return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); + } + + /** + * Checks if `value` is an empty object, collection, map, or set. + * + * Objects are considered empty if they have no own enumerable string keyed + * properties. + * + * Array-like values such as `arguments` objects, arrays, buffers, strings, or + * jQuery-like collections are considered empty if they have a `length` of `0`. + * Similarly, maps and sets are considered empty if they have a `size` of `0`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is empty, else `false`. + * @example + * + * _.isEmpty(null); + * // => true + * + * _.isEmpty(true); + * // => true + * + * _.isEmpty(1); + * // => true + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({ 'a': 1 }); + * // => false + */ + function isEmpty(value) { + if (value == null) { + return true; + } + if (isArrayLike(value) && + (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || + isBuffer(value) || isTypedArray(value) || isArguments(value))) { + return !value.length; + } + var tag = getTag(value); + if (tag == mapTag || tag == setTag) { + return !value.size; + } + if (isPrototype(value)) { + return !baseKeys(value).length; + } + for (var key in value) { + if (hasOwnProperty.call(value, key)) { + return false; + } + } + return true; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + function isEqual(value, other) { + return baseIsEqual(value, other); + } + + /** + * This method is like `_.isEqual` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with up to + * six arguments: (objValue, othValue [, index|key, object, other, stack]). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ + function isEqualWith(value, other, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + var result = customizer ? customizer(value, other) : undefined; + return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; + } + + /** + * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, + * `SyntaxError`, `TypeError`, or `URIError` object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an error object, else `false`. + * @example + * + * _.isError(new Error); + * // => true + * + * _.isError(Error); + * // => false + */ + function isError(value) { + if (!isObjectLike(value)) { + return false; + } + var tag = baseGetTag(value); + return tag == errorTag || tag == domExcTag || + (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); + } + + /** + * Checks if `value` is a finite primitive number. + * + * **Note:** This method is based on + * [`Number.isFinite`](https://mdn.io/Number/isFinite). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. + * @example + * + * _.isFinite(3); + * // => true + * + * _.isFinite(Number.MIN_VALUE); + * // => true + * + * _.isFinite(Infinity); + * // => false + * + * _.isFinite('3'); + * // => false + */ + function isFinite(value) { + return typeof value == 'number' && nativeIsFinite(value); + } + + /** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ + function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; + } + + /** + * Checks if `value` is an integer. + * + * **Note:** This method is based on + * [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ + function isInteger(value) { + return typeof value == 'number' && value == toInteger(value); + } + + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return value != null && typeof value == 'object'; + } + + /** + * Checks if `value` is classified as a `Map` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a map, else `false`. + * @example + * + * _.isMap(new Map); + * // => true + * + * _.isMap(new WeakMap); + * // => false + */ + var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; + + /** + * Performs a partial deep comparison between `object` and `source` to + * determine if `object` contains equivalent property values. + * + * **Note:** This method is equivalent to `_.matches` when `source` is + * partially applied. + * + * Partial comparisons will match empty array and empty object `source` + * values against any array or object value, respectively. See `_.isEqual` + * for a list of supported value comparisons. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * + * _.isMatch(object, { 'b': 2 }); + * // => true + * + * _.isMatch(object, { 'b': 1 }); + * // => false + */ + function isMatch(object, source) { + return object === source || baseIsMatch(object, source, getMatchData(source)); + } + + /** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined`, comparisons + * are handled by the method instead. The `customizer` is invoked with five + * arguments: (objValue, srcValue, index|key, object, source). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ + function isMatchWith(object, source, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return baseIsMatch(object, source, getMatchData(source), customizer); + } + + /** + * Checks if `value` is `NaN`. + * + * **Note:** This method is based on + * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as + * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for + * `undefined` and other non-number values. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // An `NaN` primitive is the only value that is not equal to itself. + // Perform the `toStringTag` check first to avoid errors with some + // ActiveX objects in IE. + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is a pristine native function. + * + * **Note:** This method can't reliably detect native functions in the presence + * of the core-js package because core-js circumvents this kind of detection. + * Despite multiple requests, the core-js maintainer has made it clear: any + * attempt to fix the detection will be obstructed. As a result, we're left + * with little choice but to throw an error. Unfortunately, this also affects + * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), + * which rely on core-js. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + * @example + * + * _.isNative(Array.prototype.push); + * // => true + * + * _.isNative(_); + * // => false + */ + function isNative(value) { + if (isMaskable(value)) { + throw new Error(CORE_ERROR_TEXT); + } + return baseIsNative(value); + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(void 0); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is `null` or `undefined`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ + function isNil(value) { + return value == null; + } + + /** + * Checks if `value` is classified as a `Number` primitive or object. + * + * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are + * classified as numbers, use the `_.isFinite` method. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a number, else `false`. + * @example + * + * _.isNumber(3); + * // => true + * + * _.isNumber(Number.MIN_VALUE); + * // => true + * + * _.isNumber(Infinity); + * // => true + * + * _.isNumber('3'); + * // => false + */ + function isNumber(value) { + return typeof value == 'number' || + (isObjectLike(value) && baseGetTag(value) == numberTag); + } + + /** + * Checks if `value` is a plain object, that is, an object created by the + * `Object` constructor or one with a `[[Prototype]]` of `null`. + * + * @static + * @memberOf _ + * @since 0.8.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * _.isPlainObject(new Foo); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + * + * _.isPlainObject(Object.create(null)); + * // => true + */ + function isPlainObject(value) { + if (!isObjectLike(value) || baseGetTag(value) != objectTag) { + return false; + } + var proto = getPrototype(value); + if (proto === null) { + return true; + } + var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; + return typeof Ctor == 'function' && Ctor instanceof Ctor && + funcToString.call(Ctor) == objectCtorString; + } + + /** + * Checks if `value` is classified as a `RegExp` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. + * @example + * + * _.isRegExp(/abc/); + * // => true + * + * _.isRegExp('/abc/'); + * // => false + */ + var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; + + /** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on + * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ + function isSafeInteger(value) { + return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; + } + + /** + * Checks if `value` is classified as a `Set` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a set, else `false`. + * @example + * + * _.isSet(new Set); + * // => true + * + * _.isSet(new WeakSet); + * // => false + */ + var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; + + /** + * Checks if `value` is classified as a `String` primitive or object. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a string, else `false`. + * @example + * + * _.isString('abc'); + * // => true + * + * _.isString(1); + * // => false + */ + function isString(value) { + return typeof value == 'string' || + (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); + } + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && baseGetTag(value) == symbolTag); + } + + /** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + + /** + * Checks if `value` is `undefined`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + * + * _.isUndefined(null); + * // => false + */ + function isUndefined(value) { + return value === undefined; + } + + /** + * Checks if `value` is classified as a `WeakMap` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. + * @example + * + * _.isWeakMap(new WeakMap); + * // => true + * + * _.isWeakMap(new Map); + * // => false + */ + function isWeakMap(value) { + return isObjectLike(value) && getTag(value) == weakMapTag; + } + + /** + * Checks if `value` is classified as a `WeakSet` object. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. + * @example + * + * _.isWeakSet(new WeakSet); + * // => true + * + * _.isWeakSet(new Set); + * // => false + */ + function isWeakSet(value) { + return isObjectLike(value) && baseGetTag(value) == weakSetTag; + } + + /** + * Checks if `value` is less than `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than `other`, + * else `false`. + * @see _.gt + * @example + * + * _.lt(1, 3); + * // => true + * + * _.lt(3, 3); + * // => false + * + * _.lt(3, 1); + * // => false + */ + var lt = createRelationalOperation(baseLt); + + /** + * Checks if `value` is less than or equal to `other`. + * + * @static + * @memberOf _ + * @since 3.9.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if `value` is less than or equal to + * `other`, else `false`. + * @see _.gte + * @example + * + * _.lte(1, 3); + * // => true + * + * _.lte(3, 3); + * // => true + * + * _.lte(3, 1); + * // => false + */ + var lte = createRelationalOperation(function(value, other) { + return value <= other; + }); + + /** + * Converts `value` to an array. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Lang + * @param {*} value The value to convert. + * @returns {Array} Returns the converted array. + * @example + * + * _.toArray({ 'a': 1, 'b': 2 }); + * // => [1, 2] + * + * _.toArray('abc'); + * // => ['a', 'b', 'c'] + * + * _.toArray(1); + * // => [] + * + * _.toArray(null); + * // => [] + */ + function toArray(value) { + if (!value) { + return []; + } + if (isArrayLike(value)) { + return isString(value) ? stringToArray(value) : copyArray(value); + } + if (symIterator && value[symIterator]) { + return iteratorToArray(value[symIterator]()); + } + var tag = getTag(value), + func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); + + return func(value); + } + + /** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ + function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; + } + + /** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ + function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; + } + + /** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toLength(3.2); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3.2'); + * // => 3 + */ + function toLength(value) { + return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; + } + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = baseTrim(value); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); + } + + /** + * Converts `value` to a plain object flattening inherited enumerable string + * keyed properties of `value` to own properties of the plain object. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {Object} Returns the converted plain object. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.assign({ 'a': 1 }, new Foo); + * // => { 'a': 1, 'b': 2 } + * + * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); + * // => { 'a': 1, 'b': 2, 'c': 3 } + */ + function toPlainObject(value) { + return copyObject(value, keysIn(value)); + } + + /** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toSafeInteger(3.2); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3.2'); + * // => 3 + */ + function toSafeInteger(value) { + return value + ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) + : (value === 0 ? value : 0); + } + + /** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + function toString(value) { + return value == null ? '' : baseToString(value); + } + + /*------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ + var assign = createAssigner(function(object, source) { + if (isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } + }); + + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extend + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assign + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assignIn({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } + */ + var assignIn = createAssigner(function(object, source) { + copyObject(source, keysIn(source), object); + }); + + /** + * This method is like `_.assignIn` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias extendWith + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keysIn(source), object, customizer); + }); + + /** + * This method is like `_.assign` except that it accepts `customizer` + * which is invoked to produce the assigned values. If `customizer` returns + * `undefined`, assignment is handled by the method instead. The `customizer` + * is invoked with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @see _.assignInWith + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var assignWith = createAssigner(function(object, source, srcIndex, customizer) { + copyObject(source, keys(source), object, customizer); + }); + + /** + * Creates an array of values corresponding to `paths` of `object`. + * + * @static + * @memberOf _ + * @since 1.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Array} Returns the picked values. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; + * + * _.at(object, ['a[0].b.c', 'a[1]']); + * // => [3, 4] + */ + var at = flatRest(baseAt); + + /** + * Creates an object that inherits from the `prototype` object. If a + * `properties` object is given, its own enumerable string keyed properties + * are assigned to the created object. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Object + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { + * 'constructor': Circle + * }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties == null ? result : baseAssign(result, properties); + } + + /** + * Assigns own and inherited enumerable string keyed properties of source + * objects to the destination object for all destination properties that + * resolve to `undefined`. Source objects are applied from left to right. + * Once a property is set, additional values of the same property are ignored. + * + * **Note:** This method mutates `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaultsDeep + * @example + * + * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + var defaults = baseRest(function(object, sources) { + object = Object(object); + + var index = -1; + var length = sources.length; + var guard = length > 2 ? sources[2] : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + length = 1; + } + + while (++index < length) { + var source = sources[index]; + var props = keysIn(source); + var propsIndex = -1; + var propsLength = props.length; + + while (++propsIndex < propsLength) { + var key = props[propsIndex]; + var value = object[key]; + + if (value === undefined || + (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { + object[key] = source[key]; + } + } + } + + return object; + }); + + /** + * This method is like `_.defaults` except that it recursively assigns + * default properties. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.defaults + * @example + * + * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); + * // => { 'a': { 'b': 2, 'c': 3 } } + */ + var defaultsDeep = baseRest(function(args) { + args.push(undefined, customDefaultsMerge); + return apply(mergeWith, undefined, args); + }); + + /** + * This method is like `_.find` except that it returns the key of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findKey(users, function(o) { return o.age < 40; }); + * // => 'barney' (iteration order is not guaranteed) + * + * // The `_.matches` iteratee shorthand. + * _.findKey(users, { 'age': 1, 'active': true }); + * // => 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findKey(users, 'active'); + * // => 'barney' + */ + function findKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); + } + + /** + * This method is like `_.findKey` except that it iterates over elements of + * a collection in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {string|undefined} Returns the key of the matched element, + * else `undefined`. + * @example + * + * var users = { + * 'barney': { 'age': 36, 'active': true }, + * 'fred': { 'age': 40, 'active': false }, + * 'pebbles': { 'age': 1, 'active': true } + * }; + * + * _.findLastKey(users, function(o) { return o.age < 40; }); + * // => returns 'pebbles' assuming `_.findKey` returns 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.findLastKey(users, { 'age': 36, 'active': true }); + * // => 'barney' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findLastKey(users, ['active', false]); + * // => 'fred' + * + * // The `_.property` iteratee shorthand. + * _.findLastKey(users, 'active'); + * // => 'pebbles' + */ + function findLastKey(object, predicate) { + return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); + } + + /** + * Iterates over own and inherited enumerable string keyed properties of an + * object and invokes `iteratee` for each property. The iteratee is invoked + * with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forInRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forIn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). + */ + function forIn(object, iteratee) { + return object == null + ? object + : baseFor(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * This method is like `_.forIn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forIn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forInRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. + */ + function forInRight(object, iteratee) { + return object == null + ? object + : baseForRight(object, getIteratee(iteratee, 3), keysIn); + } + + /** + * Iterates over own enumerable string keyed properties of an object and + * invokes `iteratee` for each property. The iteratee is invoked with three + * arguments: (value, key, object). Iteratee functions may exit iteration + * early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 0.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwnRight + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwn(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'a' then 'b' (iteration order is not guaranteed). + */ + function forOwn(object, iteratee) { + return object && baseForOwn(object, getIteratee(iteratee, 3)); + } + + /** + * This method is like `_.forOwn` except that it iterates over properties of + * `object` in the opposite order. + * + * @static + * @memberOf _ + * @since 2.0.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns `object`. + * @see _.forOwn + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.forOwnRight(new Foo, function(value, key) { + * console.log(key); + * }); + * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. + */ + function forOwnRight(object, iteratee) { + return object && baseForOwnRight(object, getIteratee(iteratee, 3)); + } + + /** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functionsIn + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ + function functions(object) { + return object == null ? [] : baseFunctions(object, keys(object)); + } + + /** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to inspect. + * @returns {Array} Returns the function names. + * @see _.functions + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ + function functionsIn(object) { + return object == null ? [] : baseFunctions(object, keysIn(object)); + } + + /** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ + function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; + } + + /** + * Checks if `path` is a direct property of `object`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': 2 } }; + * var other = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b'); + * // => true + * + * _.has(object, ['a', 'b']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + function has(object, path) { + return object != null && hasPath(object, path, baseHas); + } + + /** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); + } + + /** + * Creates an object composed of the inverted keys and values of `object`. + * If `object` contains duplicate values, subsequent values overwrite + * property assignments of previous values. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Object + * @param {Object} object The object to invert. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invert(object); + * // => { '1': 'c', '2': 'b' } + */ + var invert = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + result[value] = key; + }, constant(identity)); + + /** + * This method is like `_.invert` except that the inverted object is generated + * from the results of running each element of `object` thru `iteratee`. The + * corresponding inverted value of each inverted key is an array of keys + * responsible for generating the inverted value. The iteratee is invoked + * with one argument: (value). + * + * @static + * @memberOf _ + * @since 4.1.0 + * @category Object + * @param {Object} object The object to invert. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {Object} Returns the new inverted object. + * @example + * + * var object = { 'a': 1, 'b': 2, 'c': 1 }; + * + * _.invertBy(object); + * // => { '1': ['a', 'c'], '2': ['b'] } + * + * _.invertBy(object, function(value) { + * return 'group' + value; + * }); + * // => { 'group1': ['a', 'c'], 'group2': ['b'] } + */ + var invertBy = createInverter(function(result, value, key) { + if (value != null && + typeof value.toString != 'function') { + value = nativeObjectToString.call(value); + } + + if (hasOwnProperty.call(result, value)) { + result[value].push(key); + } else { + result[value] = [key]; + } + }, getIteratee); + + /** + * Invokes the method at `path` of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the method to invoke. + * @param {...*} [args] The arguments to invoke the method with. + * @returns {*} Returns the result of the invoked method. + * @example + * + * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; + * + * _.invoke(object, 'a[0].b.c.slice', 1, 3); + * // => [2, 3] + */ + var invoke = baseRest(baseInvoke); + + /** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ + function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); + } + + /** + * Creates an array of the own and inherited enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keysIn(new Foo); + * // => ['a', 'b', 'c'] (iteration order is not guaranteed) + */ + function keysIn(object) { + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); + } + + /** + * The opposite of `_.mapValues`; this method creates an object with the + * same values as `object` and keys generated by running each own enumerable + * string keyed property of `object` thru `iteratee`. The iteratee is invoked + * with three arguments: (value, key, object). + * + * @static + * @memberOf _ + * @since 3.8.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapValues + * @example + * + * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { + * return key + value; + * }); + * // => { 'a1': 1, 'b2': 2 } + */ + function mapKeys(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, iteratee(value, key, object), value); + }); + return result; + } + + /** + * Creates an object with the same keys as `object` and values generated + * by running each own enumerable string keyed property of `object` thru + * `iteratee`. The iteratee is invoked with three arguments: + * (value, key, object). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @returns {Object} Returns the new mapped object. + * @see _.mapKeys + * @example + * + * var users = { + * 'fred': { 'user': 'fred', 'age': 40 }, + * 'pebbles': { 'user': 'pebbles', 'age': 1 } + * }; + * + * _.mapValues(users, function(o) { return o.age; }); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + * + * // The `_.property` iteratee shorthand. + * _.mapValues(users, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) + */ + function mapValues(object, iteratee) { + var result = {}; + iteratee = getIteratee(iteratee, 3); + + baseForOwn(object, function(value, key, object) { + baseAssignValue(result, key, iteratee(value, key, object)); + }); + return result; + } + + /** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable string keyed properties of source objects into the + * destination object. Source properties that resolve to `undefined` are + * skipped if a destination value exists. Array and plain object properties + * are merged recursively. Other objects and value types are overridden by + * assignment. Source objects are applied from left to right. Subsequent + * sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 0.5.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var object = { + * 'a': [{ 'b': 2 }, { 'd': 4 }] + * }; + * + * var other = { + * 'a': [{ 'c': 3 }, { 'e': 5 }] + * }; + * + * _.merge(object, other); + * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } + */ + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + + /** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined`, merging is handled by the + * method instead. The `customizer` is invoked with six arguments: + * (objValue, srcValue, key, object, source, stack). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} sources The source objects. + * @param {Function} customizer The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { 'a': [1], 'b': [2] }; + * var other = { 'a': [3], 'b': [4] }; + * + * _.mergeWith(object, other, customizer); + * // => { 'a': [1, 3], 'b': [2, 4] } + */ + var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { + baseMerge(object, source, srcIndex, customizer); + }); + + /** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable property paths of `object` that are not omitted. + * + * **Note:** This method is considerably slower than `_.pick`. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to omit. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ + var omit = flatRest(function(object, paths) { + var result = {}; + if (object == null) { + return result; + } + var isDeep = false; + paths = arrayMap(paths, function(path) { + path = castPath(path, object); + isDeep || (isDeep = path.length > 1); + return path; + }); + copyObject(object, getAllKeysIn(object), result); + if (isDeep) { + result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); + } + var length = paths.length; + while (length--) { + baseUnset(result, paths[length]); + } + return result; + }); + + /** + * The opposite of `_.pickBy`; this method creates an object composed of + * the own and inherited enumerable string keyed properties of `object` that + * `predicate` doesn't return truthy for. The predicate is invoked with two + * arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ + function omitBy(object, predicate) { + return pickBy(object, negate(getIteratee(predicate))); + } + + /** + * Creates an object composed of the picked `object` properties. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The source object. + * @param {...(string|string[])} [paths] The property paths to pick. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + var pick = flatRest(function(object, paths) { + return object == null ? {} : basePick(object, paths); + }); + + /** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The source object. + * @param {Function} [predicate=_.identity] The function invoked per property. + * @returns {Object} Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ + function pickBy(object, predicate) { + if (object == null) { + return {}; + } + var props = arrayMap(getAllKeysIn(object), function(prop) { + return [prop]; + }); + predicate = getIteratee(predicate); + return basePickBy(object, props, function(value, path) { + return predicate(value, path[0]); + }); + } + + /** + * This method is like `_.get` except that if the resolved value is a + * function it's invoked with the `this` binding of its parent object and + * its result is returned. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to resolve. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; + * + * _.result(object, 'a[0].b.c1'); + * // => 3 + * + * _.result(object, 'a[0].b.c2'); + * // => 4 + * + * _.result(object, 'a[0].b.c3', 'default'); + * // => 'default' + * + * _.result(object, 'a[0].b.c3', _.constant('default')); + * // => 'default' + */ + function result(object, path, defaultValue) { + path = castPath(path, object); + + var index = -1, + length = path.length; + + // Ensure the loop is entered when path is empty. + if (!length) { + length = 1; + object = undefined; + } + while (++index < length) { + var value = object == null ? undefined : object[toKey(path[index])]; + if (value === undefined) { + index = length; + value = defaultValue; + } + object = isFunction(value) ? value.call(object) : value; + } + return object; + } + + /** + * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, + * it's created. Arrays are created for missing index properties while objects + * are created for all other missing properties. Use `_.setWith` to customize + * `path` creation. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.set(object, 'a[0].b.c', 4); + * console.log(object.a[0].b.c); + * // => 4 + * + * _.set(object, ['x', '0', 'y', 'z'], 5); + * console.log(object.x[0].y.z); + * // => 5 + */ + function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); + } + + /** + * This method is like `_.set` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.setWith(object, '[0][1]', 'a', Object); + * // => { '0': { '1': 'a' } } + */ + function setWith(object, path, value, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseSet(object, path, value, customizer); + } + + /** + * Creates an array of own enumerable string keyed-value pairs for `object` + * which can be consumed by `_.fromPairs`. If `object` is a map or set, its + * entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entries + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairs(new Foo); + * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) + */ + var toPairs = createToPairs(keys); + + /** + * Creates an array of own and inherited enumerable string keyed-value pairs + * for `object` which can be consumed by `_.fromPairs`. If `object` is a map + * or set, its entries are returned. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @alias entriesIn + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the key-value pairs. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.toPairsIn(new Foo); + * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) + */ + var toPairsIn = createToPairs(keysIn); + + /** + * An alternative to `_.reduce`; this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable string keyed properties thru `iteratee`, with each invocation + * potentially mutating the `accumulator` object. If `accumulator` is not + * provided, a new object with the same `[[Prototype]]` will be used. The + * iteratee is invoked with four arguments: (accumulator, value, key, object). + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @since 1.3.0 + * @category Object + * @param {Object} object The object to iterate over. + * @param {Function} [iteratee=_.identity] The function invoked per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @returns {*} Returns the accumulated value. + * @example + * + * _.transform([2, 3, 4], function(result, n) { + * result.push(n *= n); + * return n % 2 == 0; + * }, []); + * // => [4, 9] + * + * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { + * (result[value] || (result[value] = [])).push(key); + * }, {}); + * // => { '1': ['a', 'c'], '2': ['b'] } + */ + function transform(object, iteratee, accumulator) { + var isArr = isArray(object), + isArrLike = isArr || isBuffer(object) || isTypedArray(object); + + iteratee = getIteratee(iteratee, 4); + if (accumulator == null) { + var Ctor = object && object.constructor; + if (isArrLike) { + accumulator = isArr ? new Ctor : []; + } + else if (isObject(object)) { + accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; + } + else { + accumulator = {}; + } + } + (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { + return iteratee(accumulator, value, index, object); + }); + return accumulator; + } + + /** + * Removes the property at `path` of `object`. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to unset. + * @returns {boolean} Returns `true` if the property is deleted, else `false`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 7 } }] }; + * _.unset(object, 'a[0].b.c'); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + * + * _.unset(object, ['a', '0', 'b', 'c']); + * // => true + * + * console.log(object); + * // => { 'a': [{ 'b': {} }] }; + */ + function unset(object, path) { + return object == null ? true : baseUnset(object, path); + } + + /** + * This method is like `_.set` except that accepts `updater` to produce the + * value to set. Use `_.updateWith` to customize `path` creation. The `updater` + * is invoked with one argument: (value). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.update(object, 'a[0].b.c', function(n) { return n * n; }); + * console.log(object.a[0].b.c); + * // => 9 + * + * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); + * console.log(object.x[0].y.z); + * // => 0 + */ + function update(object, path, updater) { + return object == null ? object : baseUpdate(object, path, castFunction(updater)); + } + + /** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 4.6.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {Function} updater The function to produce the updated value. + * @param {Function} [customizer] The function to customize assigned values. + * @returns {Object} Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ + function updateWith(object, path, updater, customizer) { + customizer = typeof customizer == 'function' ? customizer : undefined; + return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); + } + + /** + * Creates an array of the own enumerable string keyed property values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.values(new Foo); + * // => [1, 2] (iteration order is not guaranteed) + * + * _.values('hi'); + * // => ['h', 'i'] + */ + function values(object) { + return object == null ? [] : baseValues(object, keys(object)); + } + + /** + * Creates an array of the own and inherited enumerable string keyed property + * values of `object`. + * + * **Note:** Non-object values are coerced to objects. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property values. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.valuesIn(new Foo); + * // => [1, 2, 3] (iteration order is not guaranteed) + */ + function valuesIn(object) { + return object == null ? [] : baseValues(object, keysIn(object)); + } + + /*------------------------------------------------------------------------*/ + + /** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Number + * @param {number} number The number to clamp. + * @param {number} [lower] The lower bound. + * @param {number} upper The upper bound. + * @returns {number} Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ + function clamp(number, lower, upper) { + if (upper === undefined) { + upper = lower; + lower = undefined; + } + if (upper !== undefined) { + upper = toNumber(upper); + upper = upper === upper ? upper : 0; + } + if (lower !== undefined) { + lower = toNumber(lower); + lower = lower === lower ? lower : 0; + } + return baseClamp(toNumber(number), lower, upper); + } + + /** + * Checks if `n` is between `start` and up to, but not including, `end`. If + * `end` is not specified, it's set to `start` with `start` then set to `0`. + * If `start` is greater than `end` the params are swapped to support + * negative ranges. + * + * @static + * @memberOf _ + * @since 3.3.0 + * @category Number + * @param {number} number The number to check. + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @returns {boolean} Returns `true` if `number` is in the range, else `false`. + * @see _.range, _.rangeRight + * @example + * + * _.inRange(3, 2, 4); + * // => true + * + * _.inRange(4, 8); + * // => true + * + * _.inRange(4, 2); + * // => false + * + * _.inRange(2, 2); + * // => false + * + * _.inRange(1.2, 2); + * // => true + * + * _.inRange(5.2, 4); + * // => false + * + * _.inRange(-3, -2, -6); + * // => true + */ + function inRange(number, start, end) { + start = toFinite(start); + if (end === undefined) { + end = start; + start = 0; + } else { + end = toFinite(end); + } + number = toNumber(number); + return baseInRange(number, start, end); + } + + /** + * Produces a random number between the inclusive `lower` and `upper` bounds. + * If only one argument is provided a number between `0` and the given number + * is returned. If `floating` is `true`, or either `lower` or `upper` are + * floats, a floating-point number is returned instead of an integer. + * + * **Note:** JavaScript follows the IEEE-754 standard for resolving + * floating-point values which can produce unexpected results. + * + * @static + * @memberOf _ + * @since 0.7.0 + * @category Number + * @param {number} [lower=0] The lower bound. + * @param {number} [upper=1] The upper bound. + * @param {boolean} [floating] Specify returning a floating-point number. + * @returns {number} Returns the random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ + function random(lower, upper, floating) { + if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { + upper = floating = undefined; + } + if (floating === undefined) { + if (typeof upper == 'boolean') { + floating = upper; + upper = undefined; + } + else if (typeof lower == 'boolean') { + floating = lower; + lower = undefined; + } + } + if (lower === undefined && upper === undefined) { + lower = 0; + upper = 1; + } + else { + lower = toFinite(lower); + if (upper === undefined) { + upper = lower; + lower = 0; + } else { + upper = toFinite(upper); + } + } + if (lower > upper) { + var temp = lower; + lower = upper; + upper = temp; + } + if (floating || lower % 1 || upper % 1) { + var rand = nativeRandom(); + return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); + } + return baseRandom(lower, upper); + } + + /*------------------------------------------------------------------------*/ + + /** + * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the camel cased string. + * @example + * + * _.camelCase('Foo Bar'); + * // => 'fooBar' + * + * _.camelCase('--foo-bar--'); + * // => 'fooBar' + * + * _.camelCase('__FOO_BAR__'); + * // => 'fooBar' + */ + var camelCase = createCompounder(function(result, word, index) { + word = word.toLowerCase(); + return result + (index ? capitalize(word) : word); + }); + + /** + * Converts the first character of `string` to upper case and the remaining + * to lower case. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to capitalize. + * @returns {string} Returns the capitalized string. + * @example + * + * _.capitalize('FRED'); + * // => 'Fred' + */ + function capitalize(string) { + return upperFirst(toString(string).toLowerCase()); + } + + /** + * Deburrs `string` by converting + * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) + * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) + * letters to basic Latin letters and removing + * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to deburr. + * @returns {string} Returns the deburred string. + * @example + * + * _.deburr('déjà vu'); + * // => 'deja vu' + */ + function deburr(string) { + string = toString(string); + return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); + } + + /** + * Checks if `string` ends with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=string.length] The position to search up to. + * @returns {boolean} Returns `true` if `string` ends with `target`, + * else `false`. + * @example + * + * _.endsWith('abc', 'c'); + * // => true + * + * _.endsWith('abc', 'b'); + * // => false + * + * _.endsWith('abc', 'b', 2); + * // => true + */ + function endsWith(string, target, position) { + string = toString(string); + target = baseToString(target); + + var length = string.length; + position = position === undefined + ? length + : baseClamp(toInteger(position), 0, length); + + var end = position; + position -= target.length; + return position >= 0 && string.slice(position, end) == target; + } + + /** + * Converts the characters "&", "<", ">", '"', and "'" in `string` to their + * corresponding HTML entities. + * + * **Note:** No other characters are escaped. To escape additional + * characters use a third-party library like [_he_](https://mths.be/he). + * + * Though the ">" character is escaped for symmetry, characters like + * ">" and "/" don't need escaping in HTML and have no special meaning + * unless they're part of a tag or unquoted attribute value. See + * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) + * (under "semi-related fun fact") for more details. + * + * When working with HTML you should always + * [quote attribute values](http://wonko.com/post/html-escaping) to reduce + * XSS vectors. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('fred, barney, & pebbles'); + * // => 'fred, barney, & pebbles' + */ + function escape(string) { + string = toString(string); + return (string && reHasUnescapedHtml.test(string)) + ? string.replace(reUnescapedHtml, escapeHtmlChar) + : string; + } + + /** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ + function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; + } + + /** + * Converts `string` to + * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the kebab cased string. + * @example + * + * _.kebabCase('Foo Bar'); + * // => 'foo-bar' + * + * _.kebabCase('fooBar'); + * // => 'foo-bar' + * + * _.kebabCase('__FOO_BAR__'); + * // => 'foo-bar' + */ + var kebabCase = createCompounder(function(result, word, index) { + return result + (index ? '-' : '') + word.toLowerCase(); + }); + + /** + * Converts `string`, as space separated words, to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the lower cased string. + * @example + * + * _.lowerCase('--Foo-Bar--'); + * // => 'foo bar' + * + * _.lowerCase('fooBar'); + * // => 'foo bar' + * + * _.lowerCase('__FOO_BAR__'); + * // => 'foo bar' + */ + var lowerCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + word.toLowerCase(); + }); + + /** + * Converts the first character of `string` to lower case. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the converted string. + * @example + * + * _.lowerFirst('Fred'); + * // => 'fred' + * + * _.lowerFirst('FRED'); + * // => 'fRED' + */ + var lowerFirst = createCaseFirst('toLowerCase'); + + /** + * Pads `string` on the left and right sides if it's shorter than `length`. + * Padding characters are truncated if they can't be evenly divided by `length`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.pad('abc', 8); + * // => ' abc ' + * + * _.pad('abc', 8, '_-'); + * // => '_-abc_-_' + * + * _.pad('abc', 3); + * // => 'abc' + */ + function pad(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + if (!length || strLength >= length) { + return string; + } + var mid = (length - strLength) / 2; + return ( + createPadding(nativeFloor(mid), chars) + + string + + createPadding(nativeCeil(mid), chars) + ); + } + + /** + * Pads `string` on the right side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padEnd('abc', 6); + * // => 'abc ' + * + * _.padEnd('abc', 6, '_-'); + * // => 'abc_-_' + * + * _.padEnd('abc', 3); + * // => 'abc' + */ + function padEnd(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (string + createPadding(length - strLength, chars)) + : string; + } + + /** + * Pads `string` on the left side if it's shorter than `length`. Padding + * characters are truncated if they exceed `length`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to pad. + * @param {number} [length=0] The padding length. + * @param {string} [chars=' '] The string used as padding. + * @returns {string} Returns the padded string. + * @example + * + * _.padStart('abc', 6); + * // => ' abc' + * + * _.padStart('abc', 6, '_-'); + * // => '_-_abc' + * + * _.padStart('abc', 3); + * // => 'abc' + */ + function padStart(string, length, chars) { + string = toString(string); + length = toInteger(length); + + var strLength = length ? stringSize(string) : 0; + return (length && strLength < length) + ? (createPadding(length - strLength, chars) + string) + : string; + } + + /** + * Converts `string` to an integer of the specified radix. If `radix` is + * `undefined` or `0`, a `radix` of `10` is used unless `value` is a + * hexadecimal, in which case a `radix` of `16` is used. + * + * **Note:** This method aligns with the + * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category String + * @param {string} string The string to convert. + * @param {number} [radix=10] The radix to interpret `value` by. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {number} Returns the converted integer. + * @example + * + * _.parseInt('08'); + * // => 8 + * + * _.map(['6', '08', '10'], _.parseInt); + * // => [6, 8, 10] + */ + function parseInt(string, radix, guard) { + if (guard || radix == null) { + radix = 0; + } else if (radix) { + radix = +radix; + } + return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); + } + + /** + * Repeats the given string `n` times. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to repeat. + * @param {number} [n=1] The number of times to repeat the string. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {string} Returns the repeated string. + * @example + * + * _.repeat('*', 3); + * // => '***' + * + * _.repeat('abc', 2); + * // => 'abcabc' + * + * _.repeat('abc', 0); + * // => '' + */ + function repeat(string, n, guard) { + if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { + n = 1; + } else { + n = toInteger(n); + } + return baseRepeat(toString(string), n); + } + + /** + * Replaces matches for `pattern` in `string` with `replacement`. + * + * **Note:** This method is based on + * [`String#replace`](https://mdn.io/String/replace). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to modify. + * @param {RegExp|string} pattern The pattern to replace. + * @param {Function|string} replacement The match replacement. + * @returns {string} Returns the modified string. + * @example + * + * _.replace('Hi Fred', 'Fred', 'Barney'); + * // => 'Hi Barney' + */ + function replace() { + var args = arguments, + string = toString(args[0]); + + return args.length < 3 ? string : string.replace(args[1], args[2]); + } + + /** + * Converts `string` to + * [snake case](https://en.wikipedia.org/wiki/Snake_case). + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the snake cased string. + * @example + * + * _.snakeCase('Foo Bar'); + * // => 'foo_bar' + * + * _.snakeCase('fooBar'); + * // => 'foo_bar' + * + * _.snakeCase('--FOO-BAR--'); + * // => 'foo_bar' + */ + var snakeCase = createCompounder(function(result, word, index) { + return result + (index ? '_' : '') + word.toLowerCase(); + }); + + /** + * Splits `string` by `separator`. + * + * **Note:** This method is based on + * [`String#split`](https://mdn.io/String/split). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category String + * @param {string} [string=''] The string to split. + * @param {RegExp|string} separator The separator pattern to split by. + * @param {number} [limit] The length to truncate results to. + * @returns {Array} Returns the string segments. + * @example + * + * _.split('a-b-c', '-', 2); + * // => ['a', 'b'] + */ + function split(string, separator, limit) { + if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { + separator = limit = undefined; + } + limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; + if (!limit) { + return []; + } + string = toString(string); + if (string && ( + typeof separator == 'string' || + (separator != null && !isRegExp(separator)) + )) { + separator = baseToString(separator); + if (!separator && hasUnicode(string)) { + return castSlice(stringToArray(string), 0, limit); + } + } + return string.split(separator, limit); + } + + /** + * Converts `string` to + * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). + * + * @static + * @memberOf _ + * @since 3.1.0 + * @category String + * @param {string} [string=''] The string to convert. + * @returns {string} Returns the start cased string. + * @example + * + * _.startCase('--foo-bar--'); + * // => 'Foo Bar' + * + * _.startCase('fooBar'); + * // => 'Foo Bar' + * + * _.startCase('__FOO_BAR__'); + * // => 'FOO BAR' + */ + var startCase = createCompounder(function(result, word, index) { + return result + (index ? ' ' : '') + upperFirst(word); + }); + + /** + * Checks if `string` starts with the given target string. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to inspect. + * @param {string} [target] The string to search for. + * @param {number} [position=0] The position to search from. + * @returns {boolean} Returns `true` if `string` starts with `target`, + * else `false`. + * @example + * + * _.startsWith('abc', 'a'); + * // => true + * + * _.startsWith('abc', 'b'); + * // => false + * + * _.startsWith('abc', 'b', 1); + * // => true + */ + function startsWith(string, target, position) { + string = toString(string); + position = position == null + ? 0 + : baseClamp(toInteger(position), 0, string.length); + + target = baseToString(target); + return string.slice(position, position + target.length) == target; + } + + /** + * Creates a compiled template function that can interpolate data properties + * in "interpolate" delimiters, HTML-escape interpolated data properties in + * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data + * properties may be accessed as free variables in the template. If a setting + * object is given, it takes precedence over `_.templateSettings` values. + * + * **Note:** In the development build `_.template` utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) + * for easier debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category String + * @param {string} [string=''] The template string. + * @param {Object} [options={}] The options object. + * @param {RegExp} [options.escape=_.templateSettings.escape] + * The HTML "escape" delimiter. + * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] + * The "evaluate" delimiter. + * @param {Object} [options.imports=_.templateSettings.imports] + * An object to import into the template as free variables. + * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] + * The "interpolate" delimiter. + * @param {string} [options.sourceURL='lodash.templateSources[n]'] + * The sourceURL of the compiled template. + * @param {string} [options.variable='obj'] + * The data object variable name. + * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. + * @returns {Function} Returns the compiled template function. + * @example + * + * // Use the "interpolate" delimiter to create a compiled template. + * var compiled = _.template('hello <%= user %>!'); + * compiled({ 'user': 'fred' }); + * // => 'hello fred!' + * + * // Use the HTML "escape" delimiter to escape data property values. + * var compiled = _.template('<%- value %>'); + * compiled({ 'value': ' -``` - - - -Node - - -Install with npm install @octokit/auth-token - -```js -const { createTokenAuth } = require("@octokit/auth-token"); -// or: import { createTokenAuth } from "@octokit/auth-token"; -``` - - - - - -```js -const auth = createTokenAuth("ghp_PersonalAccessToken01245678900000000"); -const authentication = await auth(); -// { -// type: 'token', -// token: 'ghp_PersonalAccessToken01245678900000000', -// tokenType: 'oauth' -// } -``` - -## `createTokenAuth(token) options` - -The `createTokenAuth` method accepts a single argument of type string, which is the token. The passed token can be one of the following: - -- [Personal access token](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line) -- [OAuth access token](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/) -- [GITHUB_TOKEN provided to GitHub Actions](https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/#environment-variables) -- Installation access token ([server-to-server](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation)) -- User authentication for installation ([user-to-server](https://docs.github.com/en/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps)) - -Examples - -```js -// Personal access token or OAuth access token -createTokenAuth("ghp_PersonalAccessToken01245678900000000"); -// { -// type: 'token', -// token: 'ghp_PersonalAccessToken01245678900000000', -// tokenType: 'oauth' -// } - -// Installation access token or GitHub Action token -createTokenAuth("ghs_InstallallationOrActionToken00000000"); -// { -// type: 'token', -// token: 'ghs_InstallallationOrActionToken00000000', -// tokenType: 'installation' -// } - -// Installation access token or GitHub Action token -createTokenAuth("ghu_InstallationUserToServer000000000000"); -// { -// type: 'token', -// token: 'ghu_InstallationUserToServer000000000000', -// tokenType: 'user-to-server' -// } -``` - -## `auth()` - -The `auth()` method has no options. It returns a promise which resolves with the the authentication object. - -## Authentication object - - - - - - - - - - - - - - - - - - - - - - - - - - -
- name - - type - - description -
- type - - string - - "token" -
- token - - string - - The provided token. -
- tokenType - - string - - Can be either "oauth" for personal access tokens and OAuth tokens, "installation" for installation access tokens (includes GITHUB_TOKEN provided to GitHub Actions), "app" for a GitHub App JSON Web Token, or "user-to-server" for a user authentication token through an app installation. -
- -## `auth.hook(request, route, options)` or `auth.hook(request, options)` - -`auth.hook()` hooks directly into the request life cycle. It authenticates the request using the provided token. - -The `request` option is an instance of [`@octokit/request`](https://github.com/octokit/request.js#readme). The `route`/`options` parameters are the same as for the [`request()` method](https://github.com/octokit/request.js#request). - -`auth.hook()` can be called directly to send an authenticated request - -```js -const { data: authorizations } = await auth.hook( - request, - "GET /authorizations" -); -``` - -Or it can be passed as option to [`request()`](https://github.com/octokit/request.js#request). - -```js -const requestWithAuth = request.defaults({ - request: { - hook: auth.hook, - }, -}); - -const { data: authorizations } = await requestWithAuth("GET /authorizations"); -``` - -## Find more information - -`auth()` does not send any requests, it only transforms the provided token string into an authentication object. - -Here is a list of things you can do to retrieve further information - -### Find out what scopes are enabled for oauth tokens - -Note that this does not work for installations. There is no way to retrieve permissions based on an installation access tokens. - -```js -const TOKEN = "ghp_PersonalAccessToken01245678900000000"; - -const auth = createTokenAuth(TOKEN); -const authentication = await auth(); - -const response = await request("HEAD /"); -const scopes = response.headers["x-oauth-scopes"].split(/,\s+/); - -if (scopes.length) { - console.log( - `"${TOKEN}" has ${scopes.length} scopes enabled: ${scopes.join(", ")}` - ); -} else { - console.log(`"${TOKEN}" has no scopes enabled`); -} -``` - -### Find out if token is a personal access token or if it belongs to an OAuth app - -```js -const TOKEN = "ghp_PersonalAccessToken01245678900000000"; - -const auth = createTokenAuth(TOKEN); -const authentication = await auth(); - -const response = await request("HEAD /"); -const clientId = response.headers["x-oauth-client-id"]; - -if (clientId) { - console.log( - `"${token}" is an OAuth token, its app’s client_id is ${clientId}.` - ); -} else { - console.log(`"${token}" is a personal access token`); -} -``` - -### Find out what permissions are enabled for a repository - -Note that the `permissions` key is not set when authenticated using an installation access token. - -```js -const TOKEN = "ghp_PersonalAccessToken01245678900000000"; - -const auth = createTokenAuth(TOKEN); -const authentication = await auth(); - -const response = await request("GET /repos/{owner}/{repo}", { - owner: "octocat", - repo: "hello-world", -}); - -console.log(response.data.permissions); -// { -// admin: true, -// push: true, -// pull: true -// } -``` - -### Use token for git operations - -Both OAuth and installation access tokens can be used for git operations. However, when using with an installation, [the token must be prefixed with `x-access-token`](https://developer.github.com/apps/building-github-apps/authenticating-with-github-apps/#http-based-git-access-by-an-installation). - -This example is using the [`execa`](https://github.com/sindresorhus/execa) package to run a `git push` command. - -```js -const TOKEN = "ghp_PersonalAccessToken01245678900000000"; - -const auth = createTokenAuth(TOKEN); -const { token, tokenType } = await auth(); -const tokenWithPrefix = - tokenType === "installation" ? `x-access-token:${token}` : token; - -const repositoryUrl = `https://${tokenWithPrefix}@github.com/octocat/hello-world.git`; - -const { stdout } = await execa("git", ["push", repositoryUrl]); -console.log(stdout); -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/auth-token/dist-node/index.js b/node_modules/@octokit/auth-token/dist-node/index.js deleted file mode 100644 index 93ea7c8..0000000 --- a/node_modules/@octokit/auth-token/dist-node/index.js +++ /dev/null @@ -1,79 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - createTokenAuth: () => createTokenAuth -}); -module.exports = __toCommonJS(dist_src_exports); - -// pkg/dist-src/auth.js -var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -var REGEX_IS_INSTALLATION = /^ghs_/; -var REGEX_IS_USER_TO_SERVER = /^ghu_/; -async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - 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(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.bind(null, token), { - hook: hook.bind(null, token) - }); -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - createTokenAuth -}); diff --git a/node_modules/@octokit/auth-token/dist-node/index.js.map b/node_modules/@octokit/auth-token/dist-node/index.js.map deleted file mode 100644 index deff6da..0000000 --- a/node_modules/@octokit/auth-token/dist-node/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/auth.js", "../dist-src/with-authorization-prefix.js", "../dist-src/hook.js"], - "sourcesContent": ["import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nconst 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 REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\nexport {\n auth\n};\n", "function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\nexport {\n withAuthorizationPrefix\n};\n", "import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\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}\nexport {\n hook\n};\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,+BAA+B;AACrC,IAAM,wBAAwB;AAC9B,IAAM,0BAA0B;AAChC,eAAe,KAAK,OAAO;AACzB,QAAM,QAAQ,MAAM,MAAM,IAAI,EAAE,WAAW;AAC3C,QAAM,iBAAiB,6BAA6B,KAAK,KAAK,KAAK,sBAAsB,KAAK,KAAK;AACnG,QAAM,iBAAiB,wBAAwB,KAAK,KAAK;AACzD,QAAM,YAAY,QAAQ,QAAQ,iBAAiB,iBAAiB,iBAAiB,mBAAmB;AACxG,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AACF;;;ACbA,SAAS,wBAAwB,OAAO;AACtC,MAAI,MAAM,MAAM,IAAI,EAAE,WAAW,GAAG;AAClC,WAAO,UAAU;AAAA,EACnB;AACA,SAAO,SAAS;AAClB;;;ACJA,eAAe,KAAK,OAAO,SAAS,OAAO,YAAY;AACrD,QAAM,WAAW,QAAQ,SAAS;AAAA,IAChC;AAAA,IACA;AAAA,EACF;AACA,WAAS,QAAQ,gBAAgB,wBAAwB,KAAK;AAC9D,SAAO,QAAQ,QAAQ;AACzB;;;AHNA,IAAM,kBAAkB,SAAS,iBAAiB,OAAO;AACvD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,UAAQ,MAAM,QAAQ,sBAAsB,EAAE;AAC9C,SAAO,OAAO,OAAO,KAAK,KAAK,MAAM,KAAK,GAAG;AAAA,IAC3C,MAAM,KAAK,KAAK,MAAM,KAAK;AAAA,EAC7B,CAAC;AACH;", - "names": [] -} diff --git a/node_modules/@octokit/auth-token/dist-src/auth.js b/node_modules/@octokit/auth-token/dist-src/auth.js deleted file mode 100644 index d3efbf5..0000000 --- a/node_modules/@octokit/auth-token/dist-src/auth.js +++ /dev/null @@ -1,17 +0,0 @@ -const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -const REGEX_IS_INSTALLATION = /^ghs_/; -const REGEX_IS_USER_TO_SERVER = /^ghu_/; -async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; - return { - type: "token", - token, - tokenType - }; -} -export { - auth -}; diff --git a/node_modules/@octokit/auth-token/dist-src/hook.js b/node_modules/@octokit/auth-token/dist-src/hook.js deleted file mode 100644 index 371a041..0000000 --- a/node_modules/@octokit/auth-token/dist-src/hook.js +++ /dev/null @@ -1,12 +0,0 @@ -import { withAuthorizationPrefix } from "./with-authorization-prefix"; -async function hook(token, request, route, parameters) { - const endpoint = request.endpoint.merge( - route, - parameters - ); - endpoint.headers.authorization = withAuthorizationPrefix(token); - return request(endpoint); -} -export { - hook -}; diff --git a/node_modules/@octokit/auth-token/dist-src/index.js b/node_modules/@octokit/auth-token/dist-src/index.js deleted file mode 100644 index 445cfaa..0000000 --- a/node_modules/@octokit/auth-token/dist-src/index.js +++ /dev/null @@ -1,19 +0,0 @@ -import { auth } from "./auth"; -import { hook } from "./hook"; -const 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.bind(null, token), { - hook: hook.bind(null, token) - }); -}; -export { - createTokenAuth -}; diff --git a/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js b/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js deleted file mode 100644 index 02a4bb5..0000000 --- a/node_modules/@octokit/auth-token/dist-src/with-authorization-prefix.js +++ /dev/null @@ -1,9 +0,0 @@ -function withAuthorizationPrefix(token) { - if (token.split(/\./).length === 3) { - return `bearer ${token}`; - } - return `token ${token}`; -} -export { - withAuthorizationPrefix -}; diff --git a/node_modules/@octokit/auth-token/dist-types/auth.d.ts b/node_modules/@octokit/auth-token/dist-types/auth.d.ts deleted file mode 100644 index 941d8c2..0000000 --- a/node_modules/@octokit/auth-token/dist-types/auth.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { Token, Authentication } from "./types"; -export declare function auth(token: Token): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/hook.d.ts b/node_modules/@octokit/auth-token/dist-types/hook.d.ts deleted file mode 100644 index ad457dc..0000000 --- a/node_modules/@octokit/auth-token/dist-types/hook.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { AnyResponse, EndpointOptions, RequestInterface, RequestParameters, Route, Token } from "./types"; -export declare function hook(token: Token, request: RequestInterface, route: Route | EndpointOptions, parameters?: RequestParameters): Promise; diff --git a/node_modules/@octokit/auth-token/dist-types/index.d.ts b/node_modules/@octokit/auth-token/dist-types/index.d.ts deleted file mode 100644 index 115bb7f..0000000 --- a/node_modules/@octokit/auth-token/dist-types/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { StrategyInterface, Token, Authentication } from "./types"; -export type Types = { - StrategyOptions: Token; - AuthOptions: never; - Authentication: Authentication; -}; -export declare const createTokenAuth: StrategyInterface; diff --git a/node_modules/@octokit/auth-token/dist-types/types.d.ts b/node_modules/@octokit/auth-token/dist-types/types.d.ts deleted file mode 100644 index 4267fa1..0000000 --- a/node_modules/@octokit/auth-token/dist-types/types.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import * as OctokitTypes from "@octokit/types"; -export type AnyResponse = OctokitTypes.OctokitResponse; -export type StrategyInterface = OctokitTypes.StrategyInterface<[ - Token -], [ -], Authentication>; -export type EndpointDefaults = OctokitTypes.EndpointDefaults; -export type EndpointOptions = OctokitTypes.EndpointOptions; -export type RequestParameters = OctokitTypes.RequestParameters; -export type RequestInterface = OctokitTypes.RequestInterface; -export type Route = OctokitTypes.Route; -export type Token = string; -export type OAuthTokenAuthentication = { - type: "token"; - tokenType: "oauth"; - token: Token; -}; -export type InstallationTokenAuthentication = { - type: "token"; - tokenType: "installation"; - token: Token; -}; -export type AppAuthentication = { - type: "token"; - tokenType: "app"; - token: Token; -}; -export type UserToServerAuthentication = { - type: "token"; - tokenType: "user-to-server"; - token: Token; -}; -export type Authentication = OAuthTokenAuthentication | InstallationTokenAuthentication | AppAuthentication | UserToServerAuthentication; diff --git a/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts b/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts deleted file mode 100644 index 2e52c31..0000000 --- a/node_modules/@octokit/auth-token/dist-types/with-authorization-prefix.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Prefix token for usage in the Authorization header - * - * @param token OAuth token or JSON Web Token - */ -export declare function withAuthorizationPrefix(token: string): string; diff --git a/node_modules/@octokit/auth-token/dist-web/index.js b/node_modules/@octokit/auth-token/dist-web/index.js deleted file mode 100644 index b6f7249..0000000 --- a/node_modules/@octokit/auth-token/dist-web/index.js +++ /dev/null @@ -1,52 +0,0 @@ -// pkg/dist-src/auth.js -var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; -var REGEX_IS_INSTALLATION = /^ghs_/; -var REGEX_IS_USER_TO_SERVER = /^ghu_/; -async function auth(token) { - const isApp = token.split(/\./).length === 3; - const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); - const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); - 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(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.bind(null, token), { - hook: hook.bind(null, token) - }); -}; -export { - createTokenAuth -}; diff --git a/node_modules/@octokit/auth-token/dist-web/index.js.map b/node_modules/@octokit/auth-token/dist-web/index.js.map deleted file mode 100644 index b84a1ea..0000000 --- a/node_modules/@octokit/auth-token/dist-web/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/auth.js", "../dist-src/with-authorization-prefix.js", "../dist-src/hook.js", "../dist-src/index.js"], - "sourcesContent": ["const REGEX_IS_INSTALLATION_LEGACY = /^v1\\./;\nconst REGEX_IS_INSTALLATION = /^ghs_/;\nconst REGEX_IS_USER_TO_SERVER = /^ghu_/;\nasync function auth(token) {\n const isApp = token.split(/\\./).length === 3;\n const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);\n const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);\n const tokenType = isApp ? \"app\" : isInstallation ? \"installation\" : isUserToServer ? \"user-to-server\" : \"oauth\";\n return {\n type: \"token\",\n token,\n tokenType\n };\n}\nexport {\n auth\n};\n", "function withAuthorizationPrefix(token) {\n if (token.split(/\\./).length === 3) {\n return `bearer ${token}`;\n }\n return `token ${token}`;\n}\nexport {\n withAuthorizationPrefix\n};\n", "import { withAuthorizationPrefix } from \"./with-authorization-prefix\";\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}\nexport {\n hook\n};\n", "import { auth } from \"./auth\";\nimport { hook } from \"./hook\";\nconst 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"], - "mappings": ";AAAA,IAAM,+BAA+B;AACrC,IAAM,wBAAwB;AAC9B,IAAM,0BAA0B;AAChC,eAAe,KAAK,OAAO;AACzB,QAAM,QAAQ,MAAM,MAAM,IAAI,EAAE,WAAW;AAC3C,QAAM,iBAAiB,6BAA6B,KAAK,KAAK,KAAK,sBAAsB,KAAK,KAAK;AACnG,QAAM,iBAAiB,wBAAwB,KAAK,KAAK;AACzD,QAAM,YAAY,QAAQ,QAAQ,iBAAiB,iBAAiB,iBAAiB,mBAAmB;AACxG,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AACF;;;ACbA,SAAS,wBAAwB,OAAO;AACtC,MAAI,MAAM,MAAM,IAAI,EAAE,WAAW,GAAG;AAClC,WAAO,UAAU;AAAA,EACnB;AACA,SAAO,SAAS;AAClB;;;ACJA,eAAe,KAAK,OAAO,SAAS,OAAO,YAAY;AACrD,QAAM,WAAW,QAAQ,SAAS;AAAA,IAChC;AAAA,IACA;AAAA,EACF;AACA,WAAS,QAAQ,gBAAgB,wBAAwB,KAAK;AAC9D,SAAO,QAAQ,QAAQ;AACzB;;;ACNA,IAAM,kBAAkB,SAAS,iBAAiB,OAAO;AACvD,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,0DAA0D;AAAA,EAC5E;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,UAAQ,MAAM,QAAQ,sBAAsB,EAAE;AAC9C,SAAO,OAAO,OAAO,KAAK,KAAK,MAAM,KAAK,GAAG;AAAA,IAC3C,MAAM,KAAK,KAAK,MAAM,KAAK;AAAA,EAC7B,CAAC;AACH;", - "names": [] -} diff --git a/node_modules/@octokit/auth-token/package.json b/node_modules/@octokit/auth-token/package.json deleted file mode 100644 index cecbfb6..0000000 --- a/node_modules/@octokit/auth-token/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "@octokit/auth-token", - "publishConfig": { - "access": "public" - }, - "version": "4.0.0", - "description": "GitHub API token authentication for browsers and Node.js", - "repository": "github:octokit/auth-token.js", - "keywords": [ - "github", - "octokit", - "authentication", - "api" - ], - "author": "Gregor Martynus (https://github.com/gr2m)", - "license": "MIT", - "devDependencies": { - "@octokit/request": "^6.0.0", - "@octokit/tsconfig": "^2.0.0", - "@octokit/types": "^9.2.3", - "@types/fetch-mock": "^7.3.1", - "@types/jest": "^29.0.0", - "esbuild": "^0.18.0", - "fetch-mock": "^9.0.0", - "glob": "^10.2.6", - "jest": "^29.0.0", - "prettier": "2.8.8", - "semantic-release": "^21.0.0", - "ts-jest": "^29.0.0", - "typescript": "^5.0.0" - }, - "engines": { - "node": ">= 18" - }, - "files": [ - "dist-*/**", - "bin/**" - ], - "main": "dist-node/index.js", - "browser": "dist-web/index.js", - "types": "dist-types/index.d.ts", - "module": "dist-src/index.js", - "sideEffects": false -} diff --git a/node_modules/@octokit/core/LICENSE b/node_modules/@octokit/core/LICENSE deleted file mode 100644 index ef2c18e..0000000 --- a/node_modules/@octokit/core/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/core/README.md b/node_modules/@octokit/core/README.md deleted file mode 100644 index 985841b..0000000 --- a/node_modules/@octokit/core/README.md +++ /dev/null @@ -1,448 +0,0 @@ -# core.js - -> Extendable client for GitHub's REST & GraphQL APIs - -[![@latest](https://img.shields.io/npm/v/@octokit/core.svg)](https://www.npmjs.com/package/@octokit/core) -[![Build Status](https://github.com/octokit/core.js/workflows/Test/badge.svg)](https://github.com/octokit/core.js/actions?query=workflow%3ATest+branch%3Amain) - - - -- [Usage](#usage) - - [REST API example](#rest-api-example) - - [GraphQL example](#graphql-example) -- [Options](#options) -- [Defaults](#defaults) -- [Authentication](#authentication) -- [Logging](#logging) -- [Hooks](#hooks) -- [Plugins](#plugins) -- [Build your own Octokit with Plugins and Defaults](#build-your-own-octokit-with-plugins-and-defaults) -- [LICENSE](#license) - - - -If you need a minimalistic library to utilize GitHub's [REST API](https://developer.github.com/v3/) and [GraphQL API](https://developer.github.com/v4/) which you can extend with plugins as needed, then `@octokit/core` is a great starting point. - -If you don't need the Plugin API then using [`@octokit/request`](https://github.com/octokit/request.js/) or [`@octokit/graphql`](https://github.com/octokit/graphql.js/) directly is a good alternative. - -## Usage - - - - - - -
-Browsers - -Load @octokit/core directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/core - -```js -const { Octokit } = require("@octokit/core"); -// or: import { Octokit } from "@octokit/core"; -``` - -
- -### REST API example - -```js -// Create a personal access token at https://github.com/settings/tokens/new?scopes=repo -const octokit = new Octokit({ auth: `personal-access-token123` }); - -const response = await octokit.request("GET /orgs/{org}/repos", { - org: "octokit", - type: "private", -}); -``` - -See [`@octokit/request`](https://github.com/octokit/request.js) for full documentation of the `.request` method. - -### GraphQL example - -```js -const octokit = new Octokit({ auth: `secret123` }); - -const response = await octokit.graphql( - `query ($login: String!) { - organization(login: $login) { - repositories(privacy: PRIVATE) { - totalCount - } - } - }`, - { login: "octokit" }, -); -``` - -See [`@octokit/graphql`](https://github.com/octokit/graphql.js) for full documentation of the `.graphql` method. - -## Options - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- name - - type - - description -
- options.authStrategy - - Function - - Defaults to @octokit/auth-token. See Authentication below for examples. -
- options.auth - - String or Object - - See Authentication below for examples. -
- options.baseUrl - - String - - -When using with GitHub Enterprise Server, set `options.baseUrl` to the root URL of the API. For example, if your GitHub Enterprise Server's hostname is `github.acme-inc.com`, then set `options.baseUrl` to `https://github.acme-inc.com/api/v3`. Example - -```js -const octokit = new Octokit({ - baseUrl: "https://github.acme-inc.com/api/v3", -}); -``` - -
- options.previews - - Array of Strings - - -Some REST API endpoints require preview headers to be set, or enable -additional features. Preview headers can be set on a per-request basis, e.g. - -```js -octokit.request("POST /repos/{owner}/{repo}/pulls", { - mediaType: { - previews: ["shadow-cat"], - }, - owner, - repo, - title: "My pull request", - base: "main", - head: "my-feature", - draft: true, -}); -``` - -You can also set previews globally, by setting the `options.previews` option on the constructor. Example: - -```js -const octokit = new Octokit({ - previews: ["shadow-cat"], -}); -``` - -
- options.request - - Object - - -Set a default request timeout (`options.request.timeout`) or an [`http(s).Agent`](https://nodejs.org/api/http.html#http_class_http_agent) e.g. for proxy usage (Node only, `options.request.agent`). - -There are more `options.request.*` options, see [`@octokit/request` options](https://github.com/octokit/request.js#request). `options.request` can also be set on a per-request basis. - -
- options.timeZone - - String - - -Sets the `Time-Zone` header which defines a timezone according to the [list of names from the Olson database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). - -```js -const octokit = new Octokit({ - timeZone: "America/Los_Angeles", -}); -``` - -The time zone header will determine the timezone used for generating the timestamp when creating commits. See [GitHub's Timezones documentation](https://developer.github.com/v3/#timezones). - -
- options.userAgent - - String - - -A custom user agent string for your app or library. Example - -```js -const octokit = new Octokit({ - userAgent: "my-app/v1.2.3", -}); -``` - -
- -## Defaults - -You can create a new Octokit class with customized default options. - -```js -const MyOctokit = Octokit.defaults({ - auth: "personal-access-token123", - baseUrl: "https://github.acme-inc.com/api/v3", - userAgent: "my-app/v1.2.3", -}); -const octokit1 = new MyOctokit(); -const octokit2 = new MyOctokit(); -``` - -If you pass additional options to your new constructor, the options will be merged shallowly. - -```js -const MyOctokit = Octokit.defaults({ - foo: { - opt1: 1, - }, -}); -const octokit = new MyOctokit({ - foo: { - opt2: 1, - }, -}); -// options will be { foo: { opt2: 1 }} -``` - -If you need a deep or conditional merge, you can pass a function instead. - -```js -const MyOctokit = Octokit.defaults((options) => { - return { - foo: Object.assign({}, options.foo, { opt1: 1 }), - }; -}); -const octokit = new MyOctokit({ - foo: { opt2: 1 }, -}); -// options will be { foo: { opt1: 1, opt2: 1 }} -``` - -Be careful about mutating the `options` object in the `Octokit.defaults` callback, as it can have unforeseen consequences. - -## Authentication - -Authentication is optional for some REST API endpoints accessing public data, but is required for GraphQL queries. Using authentication also increases your [API rate limit](https://developer.github.com/v3/#rate-limiting). - -By default, Octokit authenticates using the [token authentication strategy](https://github.com/octokit/auth-token.js). Pass in a token using `options.auth`. It can be a personal access token, an OAuth token, an installation access token or a JSON Web Token for GitHub App authentication. The `Authorization` header will be set according to the type of token. - -```js -import { Octokit } from "@octokit/core"; - -const octokit = new Octokit({ - auth: "mypersonalaccesstoken123", -}); - -const { data } = await octokit.request("/user"); -``` - -To use a different authentication strategy, set `options.authStrategy`. A list of authentication strategies is available at [octokit/authentication-strategies.js](https://github.com/octokit/authentication-strategies.js/#readme). - -Example - -```js -import { Octokit } from "@octokit/core"; -import { createAppAuth } from "@octokit/auth-app"; - -const appOctokit = new Octokit({ - authStrategy: createAppAuth, - auth: { - appId: 123, - privateKey: process.env.PRIVATE_KEY, - }, -}); - -const { data } = await appOctokit.request("/app"); -``` - -The `.auth()` method returned by the current authentication strategy can be accessed at `octokit.auth()`. Example - -```js -const { token } = await appOctokit.auth({ - type: "installation", - installationId: 123, -}); -``` - -## Logging - -There are four built-in log methods - -1. `octokit.log.debug(message[, additionalInfo])` -1. `octokit.log.info(message[, additionalInfo])` -1. `octokit.log.warn(message[, additionalInfo])` -1. `octokit.log.error(message[, additionalInfo])` - -They can be configured using the [`log` client option](client-options). By default, `octokit.log.debug()` and `octokit.log.info()` are no-ops, while the other two call `console.warn()` and `console.error()` respectively. - -This is useful if you build reusable [plugins](#plugins). - -If you would like to make the log level configurable using an environment variable or external option, we recommend the [console-log-level](https://github.com/watson/console-log-level) package. Example - -```js -const octokit = new Octokit({ - log: require("console-log-level")({ level: "info" }), -}); -``` - -## Hooks - -You can customize Octokit's request lifecycle with hooks. - -```js -octokit.hook.before("request", async (options) => { - validate(options); -}); -octokit.hook.after("request", async (response, options) => { - console.log(`${options.method} ${options.url}: ${response.status}`); -}); -octokit.hook.error("request", async (error, options) => { - if (error.status === 304) { - return findInCache(error.response.headers.etag); - } - - throw error; -}); -octokit.hook.wrap("request", async (request, options) => { - // add logic before, after, catch errors or replace the request altogether - return request(options); -}); -``` - -See [before-after-hook](https://github.com/gr2m/before-after-hook#readme) for more documentation on hooks. - -## Plugins - -Octokit’s functionality can be extended using plugins. The `Octokit.plugin()` method accepts a plugin (or many) and returns a new constructor. - -A plugin is a function which gets two arguments: - -1. the current instance -2. the options passed to the constructor. - -In order to extend `octokit`'s API, the plugin must return an object with the new methods. Please refrain from adding methods directly to the `octokit` instance, especialy if you depend on keys that do not exist in `@octokit/core`, such as `octokit.rest`. - -```js -// index.js -const { Octokit } = require("@octokit/core") -const MyOctokit = Octokit.plugin( - require("./lib/my-plugin"), - require("octokit-plugin-example") -); - -const octokit = new MyOctokit({ greeting: "Moin moin" }); -octokit.helloWorld(); // logs "Moin moin, world!" -octokit.request("GET /"); // logs "GET / - 200 in 123ms" - -// lib/my-plugin.js -module.exports = (octokit, options = { greeting: "Hello" }) => { - // hook into the request lifecycle - octokit.hook.wrap("request", async (request, options) => { - const time = Date.now(); - const response = await request(options); - console.log( - `${options.method} ${options.url} – ${response.status} in ${Date.now() - - time}ms` - ); - return response; - }); - - // add a custom method - return { - helloWorld: () => console.log(`${options.greeting}, world!`); - } -}; -``` - -## Build your own Octokit with Plugins and Defaults - -You can build your own Octokit class with preset default options and plugins. In fact, this is mostly how the `@octokit/` modules work, such as [`@octokit/action`](https://github.com/octokit/action.js): - -```js -const { Octokit } = require("@octokit/core"); -const MyActionOctokit = Octokit.plugin( - require("@octokit/plugin-paginate-rest").paginateRest, - require("@octokit/plugin-throttling").throttling, - require("@octokit/plugin-retry").retry, -).defaults({ - throttle: { - onAbuseLimit: (retryAfter, options) => { - /* ... */ - }, - onRateLimit: (retryAfter, options) => { - /* ... */ - }, - }, - authStrategy: require("@octokit/auth-action").createActionAuth, - userAgent: `my-octokit-action/v1.2.3`, -}); - -const octokit = new MyActionOctokit(); -const installations = await octokit.paginate("GET /app/installations"); -``` - -## LICENSE - -[MIT](LICENSE) diff --git a/node_modules/@octokit/core/dist-node/index.js b/node_modules/@octokit/core/dist-node/index.js deleted file mode 100644 index 3dd73df..0000000 --- a/node_modules/@octokit/core/dist-node/index.js +++ /dev/null @@ -1,163 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - Octokit: () => Octokit -}); -module.exports = __toCommonJS(dist_src_exports); -var import_universal_user_agent = require("universal-user-agent"); -var import_before_after_hook = require("before-after-hook"); -var import_request = require("@octokit/request"); -var import_graphql = require("@octokit/graphql"); -var import_auth_token = require("@octokit/auth-token"); - -// pkg/dist-src/version.js -var VERSION = "5.0.1"; - -// pkg/dist-src/index.js -var Octokit = class { - static { - this.VERSION = VERSION; - } - 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 { - this.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 { - this.plugins = currentPlugins.concat( - newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) - ); - } - }; - return NewOctokit; - } - constructor(options = {}) { - const hook = new import_before_after_hook.Collection(); - const requestDefaults = { - baseUrl: import_request.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, - `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` - ].filter(Boolean).join(" "); - 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 = import_request.request.defaults(requestDefaults); - this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults); - this.log = Object.assign( - { - debug: () => { - }, - info: () => { - }, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, - options.log - ); - this.hook = hook; - if (!options.authStrategy) { - if (!options.auth) { - this.auth = async () => ({ - type: "unauthenticated" - }); - } else { - const auth = (0, import_auth_token.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; - classConstructor.plugins.forEach((plugin) => { - Object.assign(this, plugin(this, options)); - }); - } -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - Octokit -}); diff --git a/node_modules/@octokit/core/dist-node/index.js.map b/node_modules/@octokit/core/dist-node/index.js.map deleted file mode 100644 index 1858f99..0000000 --- a/node_modules/@octokit/core/dist-node/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/version.js"], - "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nclass Octokit {\n static {\n this.VERSION = VERSION;\n }\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 {\n this.plugins = [];\n }\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 {\n this.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n }\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new 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\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`\n ].filter(Boolean).join(\" \");\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 = 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 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 classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n}\nexport {\n Octokit\n};\n", "const VERSION = \"5.0.1\";\nexport {\n VERSION\n};\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCAA6B;AAC7B,+BAA2B;AAC3B,qBAAwB;AACxB,qBAA2C;AAC3C,wBAAgC;;;ACJhC,IAAM,UAAU;;;ADMhB,IAAM,UAAN,MAAc;AAAA,EACZ,OAAO;AACL,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,OAAO,SAAS,UAAU;AACxB,UAAM,sBAAsB,cAAc,KAAK;AAAA,MAC7C,eAAe,MAAM;AACnB,cAAM,UAAU,KAAK,CAAC,KAAK,CAAC;AAC5B,YAAI,OAAO,aAAa,YAAY;AAClC,gBAAM,SAAS,OAAO,CAAC;AACvB;AAAA,QACF;AACA;AAAA,UACE,OAAO;AAAA,YACL,CAAC;AAAA,YACD;AAAA,YACA;AAAA,YACA,QAAQ,aAAa,SAAS,YAAY;AAAA,cACxC,WAAW,GAAG,QAAQ,SAAS,IAAI,SAAS,SAAS;AAAA,YACvD,IAAI;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,OAAO;AACL,SAAK,UAAU,CAAC;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,UAAU,YAAY;AAC3B,UAAM,iBAAiB,KAAK;AAC5B,UAAM,aAAa,cAAc,KAAK;AAAA,MACpC,OAAO;AACL,aAAK,UAAU,eAAe;AAAA,UAC5B,WAAW,OAAO,CAAC,WAAW,CAAC,eAAe,SAAS,MAAM,CAAC;AAAA,QAChE;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,UAAU,CAAC,GAAG;AACxB,UAAM,OAAO,IAAI,oCAAW;AAC5B,UAAM,kBAAkB;AAAA,MACtB,SAAS,uBAAQ,SAAS,SAAS;AAAA,MACnC,SAAS,CAAC;AAAA,MACV,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ,SAAS;AAAA;AAAA,QAE1C,MAAM,KAAK,KAAK,MAAM,SAAS;AAAA,MACjC,CAAC;AAAA,MACD,WAAW;AAAA,QACT,UAAU,CAAC;AAAA,QACX,QAAQ;AAAA,MACV;AAAA,IACF;AACA,oBAAgB,QAAQ,YAAY,IAAI;AAAA,MACtC,QAAQ;AAAA,MACR,mBAAmB,OAAO,QAAI,0CAAa,CAAC;AAAA,IAC9C,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAC1B,QAAI,QAAQ,SAAS;AACnB,sBAAgB,UAAU,QAAQ;AAAA,IACpC;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,UAAU,WAAW,QAAQ;AAAA,IAC/C;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,QAAQ,WAAW,IAAI,QAAQ;AAAA,IACjD;AACA,SAAK,UAAU,uBAAQ,SAAS,eAAe;AAC/C,SAAK,cAAU,kCAAkB,KAAK,OAAO,EAAE,SAAS,eAAe;AACvE,SAAK,MAAM,OAAO;AAAA,MAChB;AAAA,QACE,OAAO,MAAM;AAAA,QACb;AAAA,QACA,MAAM,MAAM;AAAA,QACZ;AAAA,QACA,MAAM,QAAQ,KAAK,KAAK,OAAO;AAAA,QAC/B,OAAO,QAAQ,MAAM,KAAK,OAAO;AAAA,MACnC;AAAA,MACA,QAAQ;AAAA,IACV;AACA,SAAK,OAAO;AACZ,QAAI,CAAC,QAAQ,cAAc;AACzB,UAAI,CAAC,QAAQ,MAAM;AACjB,aAAK,OAAO,aAAa;AAAA,UACvB,MAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,cAAM,WAAO,mCAAgB,QAAQ,IAAI;AACzC,aAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,aAAK,OAAO;AAAA,MACd;AAAA,IACF,OAAO;AACL,YAAM,EAAE,cAAc,GAAG,aAAa,IAAI;AAC1C,YAAM,OAAO;AAAA,QACX,OAAO;AAAA,UACL;AAAA,YACE,SAAS,KAAK;AAAA,YACd,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMV,SAAS;AAAA,YACT,gBAAgB;AAAA,UAClB;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AACA,WAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,WAAK,OAAO;AAAA,IACd;AACA,UAAM,mBAAmB,KAAK;AAC9B,qBAAiB,QAAQ,QAAQ,CAAC,WAAW;AAC3C,aAAO,OAAO,MAAM,OAAO,MAAM,OAAO,CAAC;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;", - "names": [] -} diff --git a/node_modules/@octokit/core/dist-src/index.js b/node_modules/@octokit/core/dist-src/index.js deleted file mode 100644 index c5755e8..0000000 --- a/node_modules/@octokit/core/dist-src/index.js +++ /dev/null @@ -1,133 +0,0 @@ -import { getUserAgent } from "universal-user-agent"; -import { Collection } from "before-after-hook"; -import { request } from "@octokit/request"; -import { graphql, withCustomRequest } from "@octokit/graphql"; -import { createTokenAuth } from "@octokit/auth-token"; -import { VERSION } from "./version"; -class Octokit { - static { - this.VERSION = VERSION; - } - 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 { - this.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 { - this.plugins = currentPlugins.concat( - newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) - ); - } - }; - return NewOctokit; - } - constructor(options = {}) { - const hook = new 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, - `octokit-core.js/${VERSION} ${getUserAgent()}` - ].filter(Boolean).join(" "); - 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 = Object.assign( - { - debug: () => { - }, - info: () => { - }, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, - 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; - classConstructor.plugins.forEach((plugin) => { - Object.assign(this, plugin(this, options)); - }); - } -} -export { - Octokit -}; diff --git a/node_modules/@octokit/core/dist-src/version.js b/node_modules/@octokit/core/dist-src/version.js deleted file mode 100644 index c52a5e5..0000000 --- a/node_modules/@octokit/core/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "5.0.1"; -export { - VERSION -}; diff --git a/node_modules/@octokit/core/dist-types/index.d.ts b/node_modules/@octokit/core/dist-types/index.d.ts deleted file mode 100644 index fa5e88f..0000000 --- a/node_modules/@octokit/core/dist-types/index.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import type { HookCollection } from "before-after-hook"; -import { request } from "@octokit/request"; -import { graphql } from "@octokit/graphql"; -import type { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types"; -export declare class Octokit { - static VERSION: string; - static defaults>(this: S, defaults: OctokitOptions | Function): S; - static plugins: OctokitPlugin[]; - /** - * Attach a plugin (or many) to your Octokit instance. - * - * @example - * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...) - */ - static plugin & { - plugins: any[]; - }, T extends OctokitPlugin[]>(this: S, ...newPlugins: T): S & Constructor>>; - constructor(options?: OctokitOptions); - request: typeof request; - graphql: typeof graphql; - log: { - debug: (message: string, additionalInfo?: object) => any; - info: (message: string, additionalInfo?: object) => any; - warn: (message: string, additionalInfo?: object) => any; - error: (message: string, additionalInfo?: object) => any; - [key: string]: any; - }; - hook: HookCollection; - auth: (...args: unknown[]) => Promise; -} diff --git a/node_modules/@octokit/core/dist-types/types.d.ts b/node_modules/@octokit/core/dist-types/types.d.ts deleted file mode 100644 index d2b50b8..0000000 --- a/node_modules/@octokit/core/dist-types/types.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import * as OctokitTypes from "@octokit/types"; -import { RequestError } from "@octokit/request-error"; -import { Octokit } from "."; -export type RequestParameters = OctokitTypes.RequestParameters; -export interface OctokitOptions { - authStrategy?: any; - auth?: any; - userAgent?: string; - previews?: string[]; - baseUrl?: string; - log?: { - debug: (message: string) => unknown; - info: (message: string) => unknown; - warn: (message: string) => unknown; - error: (message: string) => unknown; - }; - request?: OctokitTypes.RequestRequestOptions; - timeZone?: string; - [option: string]: any; -} -export type Constructor = new (...args: any[]) => T; -export type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection, void>> : never; -/** - * @author https://stackoverflow.com/users/2887218/jcalz - * @see https://stackoverflow.com/a/50375286/10325032 - */ -export type UnionToIntersection = (Union extends any ? (argument: Union) => void : never) extends (argument: infer Intersection) => void ? Intersection : never; -type AnyFunction = (...args: any) => any; -export type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => { - [key: string]: any; -} | void; -export type Hooks = { - request: { - Options: Required; - Result: OctokitTypes.OctokitResponse; - Error: RequestError | Error; - }; - [key: string]: { - Options: unknown; - Result: unknown; - Error: unknown; - }; -}; -export {}; diff --git a/node_modules/@octokit/core/dist-types/version.d.ts b/node_modules/@octokit/core/dist-types/version.d.ts deleted file mode 100644 index 5fa6dee..0000000 --- a/node_modules/@octokit/core/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "5.0.1"; diff --git a/node_modules/@octokit/core/dist-web/index.js b/node_modules/@octokit/core/dist-web/index.js deleted file mode 100644 index 9aa13dc..0000000 --- a/node_modules/@octokit/core/dist-web/index.js +++ /dev/null @@ -1,138 +0,0 @@ -// pkg/dist-src/index.js -import { getUserAgent } from "universal-user-agent"; -import { Collection } from "before-after-hook"; -import { request } from "@octokit/request"; -import { graphql, withCustomRequest } from "@octokit/graphql"; -import { createTokenAuth } from "@octokit/auth-token"; - -// pkg/dist-src/version.js -var VERSION = "5.0.1"; - -// pkg/dist-src/index.js -var Octokit = class { - static { - this.VERSION = VERSION; - } - 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 { - this.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 { - this.plugins = currentPlugins.concat( - newPlugins.filter((plugin) => !currentPlugins.includes(plugin)) - ); - } - }; - return NewOctokit; - } - constructor(options = {}) { - const hook = new 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, - `octokit-core.js/${VERSION} ${getUserAgent()}` - ].filter(Boolean).join(" "); - 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 = Object.assign( - { - debug: () => { - }, - info: () => { - }, - warn: console.warn.bind(console), - error: console.error.bind(console) - }, - 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; - classConstructor.plugins.forEach((plugin) => { - Object.assign(this, plugin(this, options)); - }); - } -}; -export { - Octokit -}; diff --git a/node_modules/@octokit/core/dist-web/index.js.map b/node_modules/@octokit/core/dist-web/index.js.map deleted file mode 100644 index e7d8630..0000000 --- a/node_modules/@octokit/core/dist-web/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/version.js"], - "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nclass Octokit {\n static {\n this.VERSION = VERSION;\n }\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 {\n this.plugins = [];\n }\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 {\n this.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n }\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new 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\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`\n ].filter(Boolean).join(\" \");\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 = 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 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 classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n}\nexport {\n Octokit\n};\n", "const VERSION = \"5.0.1\";\nexport {\n VERSION\n};\n"], - "mappings": ";AAAA,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,SAAS,yBAAyB;AAC3C,SAAS,uBAAuB;;;ACJhC,IAAM,UAAU;;;ADMhB,IAAM,UAAN,MAAc;AAAA,EACZ,OAAO;AACL,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,OAAO,SAAS,UAAU;AACxB,UAAM,sBAAsB,cAAc,KAAK;AAAA,MAC7C,eAAe,MAAM;AACnB,cAAM,UAAU,KAAK,CAAC,KAAK,CAAC;AAC5B,YAAI,OAAO,aAAa,YAAY;AAClC,gBAAM,SAAS,OAAO,CAAC;AACvB;AAAA,QACF;AACA;AAAA,UACE,OAAO;AAAA,YACL,CAAC;AAAA,YACD;AAAA,YACA;AAAA,YACA,QAAQ,aAAa,SAAS,YAAY;AAAA,cACxC,WAAW,GAAG,QAAQ,SAAS,IAAI,SAAS,SAAS;AAAA,YACvD,IAAI;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,OAAO;AACL,SAAK,UAAU,CAAC;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,UAAU,YAAY;AAC3B,UAAM,iBAAiB,KAAK;AAC5B,UAAM,aAAa,cAAc,KAAK;AAAA,MACpC,OAAO;AACL,aAAK,UAAU,eAAe;AAAA,UAC5B,WAAW,OAAO,CAAC,WAAW,CAAC,eAAe,SAAS,MAAM,CAAC;AAAA,QAChE;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,UAAU,CAAC,GAAG;AACxB,UAAM,OAAO,IAAI,WAAW;AAC5B,UAAM,kBAAkB;AAAA,MACtB,SAAS,QAAQ,SAAS,SAAS;AAAA,MACnC,SAAS,CAAC;AAAA,MACV,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ,SAAS;AAAA;AAAA,QAE1C,MAAM,KAAK,KAAK,MAAM,SAAS;AAAA,MACjC,CAAC;AAAA,MACD,WAAW;AAAA,QACT,UAAU,CAAC;AAAA,QACX,QAAQ;AAAA,MACV;AAAA,IACF;AACA,oBAAgB,QAAQ,YAAY,IAAI;AAAA,MACtC,QAAQ;AAAA,MACR,mBAAmB,OAAO,IAAI,aAAa,CAAC;AAAA,IAC9C,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAC1B,QAAI,QAAQ,SAAS;AACnB,sBAAgB,UAAU,QAAQ;AAAA,IACpC;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,UAAU,WAAW,QAAQ;AAAA,IAC/C;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,QAAQ,WAAW,IAAI,QAAQ;AAAA,IACjD;AACA,SAAK,UAAU,QAAQ,SAAS,eAAe;AAC/C,SAAK,UAAU,kBAAkB,KAAK,OAAO,EAAE,SAAS,eAAe;AACvE,SAAK,MAAM,OAAO;AAAA,MAChB;AAAA,QACE,OAAO,MAAM;AAAA,QACb;AAAA,QACA,MAAM,MAAM;AAAA,QACZ;AAAA,QACA,MAAM,QAAQ,KAAK,KAAK,OAAO;AAAA,QAC/B,OAAO,QAAQ,MAAM,KAAK,OAAO;AAAA,MACnC;AAAA,MACA,QAAQ;AAAA,IACV;AACA,SAAK,OAAO;AACZ,QAAI,CAAC,QAAQ,cAAc;AACzB,UAAI,CAAC,QAAQ,MAAM;AACjB,aAAK,OAAO,aAAa;AAAA,UACvB,MAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,cAAM,OAAO,gBAAgB,QAAQ,IAAI;AACzC,aAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,aAAK,OAAO;AAAA,MACd;AAAA,IACF,OAAO;AACL,YAAM,EAAE,cAAc,GAAG,aAAa,IAAI;AAC1C,YAAM,OAAO;AAAA,QACX,OAAO;AAAA,UACL;AAAA,YACE,SAAS,KAAK;AAAA,YACd,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMV,SAAS;AAAA,YACT,gBAAgB;AAAA,UAClB;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AACA,WAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,WAAK,OAAO;AAAA,IACd;AACA,UAAM,mBAAmB,KAAK;AAC9B,qBAAiB,QAAQ,QAAQ,CAAC,WAAW;AAC3C,aAAO,OAAO,MAAM,OAAO,MAAM,OAAO,CAAC;AAAA,IAC3C,CAAC;AAAA,EACH;AACF;", - "names": [] -} diff --git a/node_modules/@octokit/core/package.json b/node_modules/@octokit/core/package.json deleted file mode 100644 index 326cea1..0000000 --- a/node_modules/@octokit/core/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "@octokit/core", - "version": "5.0.1", - "publishConfig": { - "access": "public" - }, - "description": "Extendable client for GitHub's REST & GraphQL APIs", - "repository": "github:octokit/core.js", - "keywords": [ - "octokit", - "github", - "api", - "sdk", - "toolkit" - ], - "author": "Gregor Martynus (https://github.com/gr2m)", - "license": "MIT", - "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.0.0", - "@octokit/request": "^8.0.2", - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - }, - "devDependencies": { - "@octokit/auth-action": "^4.0.0", - "@octokit/auth-app": "^6.0.0", - "@octokit/auth-oauth-app": "^7.0.0", - "@octokit/tsconfig": "^2.0.0", - "@types/fetch-mock": "^7.3.1", - "@types/jest": "^29.0.0", - "@types/lolex": "^5.1.0", - "@types/node": "^18.0.0", - "esbuild": "^0.19.0", - "fetch-mock": "npm:@gr2m/fetch-mock@9.11.0-pull-request-644.1", - "glob": "^10.2.5", - "http-proxy-agent": "^7.0.0", - "jest": "^29.0.0", - "lolex": "^6.0.0", - "prettier": "3.0.3", - "proxy": "^2.0.0", - "semantic-release": "^22.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^29.0.0", - "typescript": "^5.0.0", - "undici": "5.25.2" - }, - "engines": { - "node": ">= 18" - }, - "files": [ - "dist-*/**", - "bin/**" - ], - "main": "dist-node/index.js", - "module": "dist-web/index.js", - "types": "dist-types/index.d.ts", - "source": "dist-src/index.js", - "sideEffects": false -} diff --git a/node_modules/@octokit/endpoint/LICENSE b/node_modules/@octokit/endpoint/LICENSE deleted file mode 100644 index af5366d..0000000 --- a/node_modules/@octokit/endpoint/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/endpoint/README.md deleted file mode 100644 index 07acbd1..0000000 --- a/node_modules/@octokit/endpoint/README.md +++ /dev/null @@ -1,410 +0,0 @@ -# endpoint.js - -> Turns GitHub REST API endpoints into generic request options - -[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint) -[![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain) - -`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library. - - - - - -- [Usage](#usage) -- [API](#api) - - [`endpoint(route, options)` or `endpoint(options)`](#endpointroute-options-or-endpointoptions) - - [`endpoint.defaults()`](#endpointdefaults) - - [`endpoint.DEFAULTS`](#endpointdefaults) - - [`endpoint.merge(route, options)` or `endpoint.merge(options)`](#endpointmergeroute-options-or-endpointmergeoptions) - - [`endpoint.parse()`](#endpointparse) -- [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter-%E2%80%93-set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) -- [LICENSE](#license) - - - -## Usage - - - - - - -
-Browsers - -Load @octokit/endpoint directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/endpoint - -```js -const { endpoint } = require("@octokit/endpoint"); -// or: import { endpoint } from "@octokit/endpoint"; -``` - -
- -Example for [List organization repositories](https://developer.github.com/v3/repos/#list-organization-repositories) - -```js -const requestOptions = endpoint("GET /orgs/{org}/repos", { - headers: { - authorization: "token 0000000000000000000000000000000000000001", - }, - org: "octokit", - type: "private", -}); -``` - -The resulting `requestOptions` looks as follows - -```json -{ - "method": "GET", - "url": "https://api.github.com/orgs/octokit/repos?type=private", - "headers": { - "accept": "application/vnd.github.v3+json", - "authorization": "token 0000000000000000000000000000000000000001", - "user-agent": "octokit/endpoint.js v1.2.3" - } -} -``` - -You can pass `requestOptions` to common request libraries - -```js -const { url, ...options } = requestOptions; -// using with fetch (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) -fetch(url, options); -// using with request (https://github.com/request/request) -request(requestOptions); -// using with got (https://github.com/sindresorhus/got) -got[options.method](url, options); -// using with axios -axios(requestOptions); -``` - -## API - -### `endpoint(route, options)` or `endpoint(options)` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- name - - type - - description -
- route - - String - - If set, it has to be a string consisting of URL and the request method, e.g., GET /orgs/{org}. If it’s set to a URL, only the method defaults to GET. -
- options.method - - String - - Required unless route is set. Any supported http verb. Defaults to GET. -
- options.url - - String - - Required unless route is set. A path or full URL which may contain :variable or {variable} placeholders, - e.g., /orgs/{org}/repos. The url is parsed using url-template. -
- options.baseUrl - - String - - Defaults to https://api.github.com. -
- options.headers - - Object - - Custom headers. Passed headers are merged with defaults:
- headers['user-agent'] defaults to octokit-endpoint.js/1.2.3 (where 1.2.3 is the released version).
- headers['accept'] defaults to application/vnd.github.v3+json.
-
- options.mediaType.format - - String - - Media type param, such as raw, diff, or text+json. See Media Types. Setting options.mediaType.format will amend the headers.accept value. -
- options.data - - Any - - Set request body directly instead of setting it to JSON based on additional parameters. See "The data parameter" below. -
- options.request - - Object - - Pass custom meta information for the request. The request object will be returned as is. -
- -All other options will be passed depending on the `method` and `url` options. - -1. If the option key has a placeholder in the `url`, it will be used as the replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos`. -2. If the `method` is `GET` or `HEAD`, the option is passed as a query parameter. -3. Otherwise, the parameter is passed in the request body as a JSON key. - -**Result** - -`endpoint()` is a synchronous method and returns an object with the following keys: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- key - - type - - description -
methodStringThe http method. Always lowercase.
urlStringThe url with placeholders replaced with passed parameters.
headersObjectAll header names are lowercased.
bodyAnyThe request body if one is present. Only for PATCH, POST, PUT, DELETE requests.
requestObjectRequest meta option, it will be returned as it was passed into endpoint()
- -### `endpoint.defaults()` - -Override or set default options. Example: - -```js -const request = require("request"); -const myEndpoint = require("@octokit/endpoint").defaults({ - baseUrl: "https://github-enterprise.acme-inc.com/api/v3", - headers: { - "user-agent": "myApp/1.2.3", - authorization: `token 0000000000000000000000000000000000000001`, - }, - org: "my-project", - per_page: 100, -}); - -request(myEndpoint(`GET /orgs/{org}/repos`)); -``` - -You can call `.defaults()` again on the returned method, the defaults will cascade. - -```js -const myProjectEndpoint = endpoint.defaults({ - baseUrl: "https://github-enterprise.acme-inc.com/api/v3", - headers: { - "user-agent": "myApp/1.2.3", - }, - org: "my-project", -}); -const myProjectEndpointWithAuth = myProjectEndpoint.defaults({ - headers: { - authorization: `token 0000000000000000000000000000000000000001`, - }, -}); -``` - -`myProjectEndpointWithAuth` now defaults the `baseUrl`, `headers['user-agent']`, -`org` and `headers['authorization']` on top of `headers['accept']` that is set -by the global default. - -### `endpoint.DEFAULTS` - -The current default options. - -```js -endpoint.DEFAULTS.baseUrl; // https://api.github.com -const myEndpoint = endpoint.defaults({ - baseUrl: "https://github-enterprise.acme-inc.com/api/v3", -}); -myEndpoint.DEFAULTS.baseUrl; // https://github-enterprise.acme-inc.com/api/v3 -``` - -### `endpoint.merge(route, options)` or `endpoint.merge(options)` - -Get the defaulted endpoint options, but without parsing them into request options: - -```js -const myProjectEndpoint = endpoint.defaults({ - baseUrl: "https://github-enterprise.acme-inc.com/api/v3", - headers: { - "user-agent": "myApp/1.2.3", - }, - org: "my-project", -}); -myProjectEndpoint.merge("GET /orgs/{org}/repos", { - headers: { - authorization: `token 0000000000000000000000000000000000000001`, - }, - org: "my-secret-project", - type: "private", -}); - -// { -// baseUrl: 'https://github-enterprise.acme-inc.com/api/v3', -// method: 'GET', -// url: '/orgs/{org}/repos', -// headers: { -// accept: 'application/vnd.github.v3+json', -// authorization: `token 0000000000000000000000000000000000000001`, -// 'user-agent': 'myApp/1.2.3' -// }, -// org: 'my-secret-project', -// type: 'private' -// } -``` - -### `endpoint.parse()` - -Stateless method to turn endpoint options into request options. Calling -`endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. - -## Special cases - - - -### The `data` parameter – set request body directly - -Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead, the request body needs to be set directly. In these cases, set the `data` parameter. - -```js -const options = endpoint("POST /markdown/raw", { - data: "Hello world github/linguist#1 **cool**, and #1!", - headers: { - accept: "text/html;charset=utf-8", - "content-type": "text/plain", - }, -}); - -// options is -// { -// method: 'post', -// url: 'https://api.github.com/markdown/raw', -// headers: { -// accept: 'text/html;charset=utf-8', -// 'content-type': 'text/plain', -// 'user-agent': userAgent -// }, -// body: 'Hello world github/linguist#1 **cool**, and #1!' -// } -``` - -### Set parameters for both the URL/query and the request body - -There are API endpoints that accept both query parameters as well as a body. In that case, you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). - -Example - -```js -endpoint( - "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", - { - name: "example.zip", - label: "short description", - headers: { - "content-type": "text/plain", - "content-length": 14, - authorization: `token 0000000000000000000000000000000000000001`, - }, - data: "Hello, world!", - }, -); -``` - -## LICENSE - -[MIT](LICENSE) diff --git a/node_modules/@octokit/endpoint/dist-node/index.js b/node_modules/@octokit/endpoint/dist-node/index.js deleted file mode 100644 index ae8897d..0000000 --- a/node_modules/@octokit/endpoint/dist-node/index.js +++ /dev/null @@ -1,358 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - endpoint: () => endpoint -}); -module.exports = __toCommonJS(dist_src_exports); - -// pkg/dist-src/defaults.js -var import_universal_user_agent = require("universal-user-agent"); - -// pkg/dist-src/version.js -var VERSION = "9.0.1"; - -// pkg/dist-src/defaults.js -var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.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/merge-deep.js -var import_is_plain_object = require("is-plain-object"); -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach((key) => { - if ((0, import_is_plain_object.isPlainObject)(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+|\W+$/g, "").split(/,/); -} -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - if (!matches) { - return []; - } - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); -} - -// pkg/dist-src/util/omit.js -function omit(object, keysToOmit) { - return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); -} - -// 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 = ["+", "#", ".", "/", ";", "?", "&"]; - return 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); - } - } - ); -} - -// 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(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => { - 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(oldDefaults, newDefaults) { - const DEFAULTS2 = merge(oldDefaults, newDefaults); - const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); - return Object.assign(endpoint2, { - DEFAULTS: DEFAULTS2, - defaults: withDefaults.bind(null, DEFAULTS2), - merge: merge.bind(null, DEFAULTS2), - parse - }); -} - -// pkg/dist-src/index.js -var endpoint = withDefaults(null, DEFAULTS); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - endpoint -}); diff --git a/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@octokit/endpoint/dist-node/index.js.map deleted file mode 100644 index 11f5dec..0000000 --- a/node_modules/@octokit/endpoint/dist-node/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/merge-deep.js", "../dist-src/util/remove-undefined-properties.js", "../dist-src/merge.js", "../dist-src/util/add-query-parameters.js", "../dist-src/util/extract-url-variable-names.js", "../dist-src/util/omit.js", "../dist-src/util/url-template.js", "../dist-src/parse.js", "../dist-src/endpoint-with-defaults.js", "../dist-src/with-defaults.js"], - "sourcesContent": ["import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n", "import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst 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};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.1\";\nexport {\n VERSION\n};\n", "function 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}\nexport {\n lowercaseKeys\n};\n", "import { isPlainObject } from \"is-plain-object\";\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))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\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}\nexport {\n merge\n};\n", "function 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}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\nexport {\n extractUrlVariableNames\n};\n", "function omit(object, keysToOmit) {\n return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\nexport {\n omit\n};\n", "function 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 return 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}\nexport {\n parseUrl\n};\n", "import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\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(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {\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}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kCAA6B;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAM,YAAY,uBAAuB,OAAO,QAAI,0CAAa,CAAC;AAClE,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,EACV;AACF;;;AEbA,SAAS,cAAc,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACjD,WAAO,IAAI,YAAY,CAAC,IAAI,OAAO,GAAG;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACRA,6BAA8B;AAC9B,SAAS,UAAU,UAAU,SAAS;AACpC,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ;AACzC,SAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,YAAI,sCAAc,QAAQ,GAAG,CAAC,GAAG;AAC/B,UAAI,EAAE,OAAO;AACX,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA;AAE7C,eAAO,GAAG,IAAI,UAAU,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAC;AAAA,IACvD,OAAO;AACL,aAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACdA,SAAS,0BAA0B,KAAK;AACtC,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAQ;AACvB,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;;;ACJA,SAAS,MAAM,UAAU,OAAO,SAAS;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACnC,cAAU,OAAO,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,OAAO,GAAG,OAAO;AAAA,EAC1E,OAAO;AACL,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,EACnC;AACA,UAAQ,UAAU,cAAc,QAAQ,OAAO;AAC/C,4BAA0B,OAAO;AACjC,4BAA0B,QAAQ,OAAO;AACzC,QAAM,gBAAgB,UAAU,YAAY,CAAC,GAAG,OAAO;AACvD,MAAI,QAAQ,QAAQ,YAAY;AAC9B,QAAI,YAAY,SAAS,UAAU,UAAU,QAAQ;AACnD,oBAAc,UAAU,WAAW,SAAS,UAAU,SAAS;AAAA,QAC7D,CAAC,YAAY,CAAC,cAAc,UAAU,SAAS,SAAS,OAAO;AAAA,MACjE,EAAE,OAAO,cAAc,UAAU,QAAQ;AAAA,IAC3C;AACA,kBAAc,UAAU,YAAY,cAAc,UAAU,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,QAAQ,QAAQ,YAAY,EAAE,CAAC;AAAA,EAC9H;AACA,SAAO;AACT;;;ACvBA,SAAS,mBAAmB,KAAK,YAAY;AAC3C,QAAM,YAAY,KAAK,KAAK,GAAG,IAAI,MAAM;AACzC,QAAM,QAAQ,OAAO,KAAK,UAAU;AACpC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AAC3C,QAAI,SAAS,KAAK;AAChB,aAAO,OAAO,WAAW,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAAA,IACxE;AACA,WAAO,GAAG,IAAI,IAAI,mBAAmB,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD,CAAC,EAAE,KAAK,GAAG;AACb;;;ACZA,IAAM,mBAAmB;AACzB,SAAS,eAAe,cAAc;AACpC,SAAO,aAAa,QAAQ,cAAc,EAAE,EAAE,MAAM,GAAG;AACzD;AACA,SAAS,wBAAwB,KAAK;AACpC,QAAM,UAAU,IAAI,MAAM,gBAAgB;AAC1C,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AACA,SAAO,QAAQ,IAAI,cAAc,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACrE;;;ACVA,SAAS,KAAK,QAAQ,YAAY;AAChC,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,SAAS,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,QAAQ;AAC/F,QAAI,GAAG,IAAI,OAAO,GAAG;AACrB,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACLA,SAAS,eAAe,KAAK;AAC3B,SAAO,IAAI,MAAM,oBAAoB,EAAE,IAAI,SAAS,MAAM;AACxD,QAAI,CAAC,eAAe,KAAK,IAAI,GAAG;AAC9B,aAAO,UAAU,IAAI,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,QAAQ,GAAG;AAAA,IACjE;AACA,WAAO;AAAA,EACT,CAAC,EAAE,KAAK,EAAE;AACZ;AACA,SAAS,iBAAiB,KAAK;AAC7B,SAAO,mBAAmB,GAAG,EAAE,QAAQ,YAAY,SAAS,GAAG;AAC7D,WAAO,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY;AAAA,EACxD,CAAC;AACH;AACA,SAAS,YAAY,UAAU,OAAO,KAAK;AACzC,UAAQ,aAAa,OAAO,aAAa,MAAM,eAAe,KAAK,IAAI,iBAAiB,KAAK;AAC7F,MAAI,KAAK;AACP,WAAO,iBAAiB,GAAG,IAAI,MAAM;AAAA,EACvC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AACA,SAAS,UAAU,OAAO;AACxB,SAAO,UAAU,UAAU,UAAU;AACvC;AACA,SAAS,cAAc,UAAU;AAC/B,SAAO,aAAa,OAAO,aAAa,OAAO,aAAa;AAC9D;AACA,SAAS,UAAU,SAAS,UAAU,KAAK,UAAU;AACnD,MAAI,QAAQ,QAAQ,GAAG,GAAG,SAAS,CAAC;AACpC,MAAI,UAAU,KAAK,KAAK,UAAU,IAAI;AACpC,QAAI,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,SAAO,SAAS;AAAA,IACd;AAAA,IACA,SAAS,GAAG,YAAY,SAAS;AAC/B,UAAI,YAAY;AACd,YAAI,WAAW;AACf,cAAM,SAAS,CAAC;AAChB,YAAI,UAAU,QAAQ,WAAW,OAAO,CAAC,CAAC,MAAM,IAAI;AAClD,qBAAW,WAAW,OAAO,CAAC;AAC9B,uBAAa,WAAW,OAAO,CAAC;AAAA,QAClC;AACA,mBAAW,MAAM,IAAI,EAAE,QAAQ,SAAS,UAAU;AAChD,cAAI,MAAM,4BAA4B,KAAK,QAAQ;AACnD,iBAAO,KAAK,UAAU,SAAS,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAAA,QACpE,CAAC;AACD,YAAI,YAAY,aAAa,KAAK;AAChC,cAAI,YAAY;AAChB,cAAI,aAAa,KAAK;AACpB,wBAAY;AAAA,UACd,WAAW,aAAa,KAAK;AAC3B,wBAAY;AAAA,UACd;AACA,kBAAQ,OAAO,WAAW,IAAI,WAAW,MAAM,OAAO,KAAK,SAAS;AAAA,QACtE,OAAO;AACL,iBAAO,OAAO,KAAK,GAAG;AAAA,QACxB;AAAA,MACF,OAAO;AACL,eAAO,eAAe,OAAO;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACF;;;ACxHA,SAAS,MAAM,SAAS;AACtB,MAAI,SAAS,QAAQ,OAAO,YAAY;AACxC,MAAI,OAAO,QAAQ,OAAO,KAAK,QAAQ,gBAAgB,MAAM;AAC7D,MAAI,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO;AAC/C,MAAI;AACJ,MAAI,aAAa,KAAK,SAAS;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,mBAAmB,wBAAwB,GAAG;AACpD,QAAM,SAAS,GAAG,EAAE,OAAO,UAAU;AACrC,MAAI,CAAC,QAAQ,KAAK,GAAG,GAAG;AACtB,UAAM,QAAQ,UAAU;AAAA,EAC1B;AACA,QAAM,oBAAoB,OAAO,KAAK,OAAO,EAAE,OAAO,CAAC,WAAW,iBAAiB,SAAS,MAAM,CAAC,EAAE,OAAO,SAAS;AACrH,QAAM,sBAAsB,KAAK,YAAY,iBAAiB;AAC9D,QAAM,kBAAkB,6BAA6B,KAAK,QAAQ,MAAM;AACxE,MAAI,CAAC,iBAAiB;AACpB,QAAI,QAAQ,UAAU,QAAQ;AAC5B,cAAQ,SAAS,QAAQ,OAAO,MAAM,GAAG,EAAE;AAAA,QACzC,CAAC,WAAW,OAAO;AAAA,UACjB;AAAA,UACA,uBAAuB,QAAQ,UAAU,MAAM;AAAA,QACjD;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AACA,QAAI,IAAI,SAAS,UAAU,GAAG;AAC5B,UAAI,QAAQ,UAAU,UAAU,QAAQ;AACtC,cAAM,2BAA2B,QAAQ,OAAO,MAAM,qBAAqB,KAAK,CAAC;AACjF,gBAAQ,SAAS,yBAAyB,OAAO,QAAQ,UAAU,QAAQ,EAAE,IAAI,CAAC,YAAY;AAC5F,gBAAM,SAAS,QAAQ,UAAU,SAAS,IAAI,QAAQ,UAAU,MAAM,KAAK;AAC3E,iBAAO,0BAA0B,OAAO,WAAW,MAAM;AAAA,QAC3D,CAAC,EAAE,KAAK,GAAG;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,OAAO,MAAM,EAAE,SAAS,MAAM,GAAG;AACpC,UAAM,mBAAmB,KAAK,mBAAmB;AAAA,EACnD,OAAO;AACL,QAAI,UAAU,qBAAqB;AACjC,aAAO,oBAAoB;AAAA,IAC7B,OAAO;AACL,UAAI,OAAO,KAAK,mBAAmB,EAAE,QAAQ;AAC3C,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,QAAQ,cAAc,KAAK,OAAO,SAAS,aAAa;AAC3D,YAAQ,cAAc,IAAI;AAAA,EAC5B;AACA,MAAI,CAAC,SAAS,KAAK,EAAE,SAAS,MAAM,KAAK,OAAO,SAAS,aAAa;AACpE,WAAO;AAAA,EACT;AACA,SAAO,OAAO;AAAA,IACZ,EAAE,QAAQ,KAAK,QAAQ;AAAA,IACvB,OAAO,SAAS,cAAc,EAAE,KAAK,IAAI;AAAA,IACzC,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAQ,IAAI;AAAA,EACnD;AACF;;;AC/DA,SAAS,qBAAqB,UAAU,OAAO,SAAS;AACtD,SAAO,MAAM,MAAM,UAAU,OAAO,OAAO,CAAC;AAC9C;;;ACFA,SAAS,aAAa,aAAa,aAAa;AAC9C,QAAMA,YAAW,MAAM,aAAa,WAAW;AAC/C,QAAMC,YAAW,qBAAqB,KAAK,MAAMD,SAAQ;AACzD,SAAO,OAAO,OAAOC,WAAU;AAAA,IAC7B,UAAAD;AAAA,IACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,IAC1C,OAAO,MAAM,KAAK,MAAMA,SAAQ;AAAA,IAChC;AAAA,EACF,CAAC;AACH;;;AbVA,IAAM,WAAW,aAAa,MAAM,QAAQ;", - "names": ["DEFAULTS", "endpoint"] -} diff --git a/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/endpoint/dist-src/defaults.js deleted file mode 100644 index 43d620c..0000000 --- a/node_modules/@octokit/endpoint/dist-src/defaults.js +++ /dev/null @@ -1,17 +0,0 @@ -import { getUserAgent } from "universal-user-agent"; -import { VERSION } from "./version"; -const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; -const DEFAULTS = { - method: "GET", - baseUrl: "https://api.github.com", - headers: { - accept: "application/vnd.github.v3+json", - "user-agent": userAgent - }, - mediaType: { - format: "" - } -}; -export { - DEFAULTS -}; diff --git a/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js deleted file mode 100644 index f3c4f4b..0000000 --- a/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js +++ /dev/null @@ -1,9 +0,0 @@ -import { DEFAULTS } from "./defaults"; -import { merge } from "./merge"; -import { parse } from "./parse"; -function endpointWithDefaults(defaults, route, options) { - return parse(merge(defaults, route, options)); -} -export { - endpointWithDefaults -}; diff --git a/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/endpoint/dist-src/index.js deleted file mode 100644 index b1d45e3..0000000 --- a/node_modules/@octokit/endpoint/dist-src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { withDefaults } from "./with-defaults"; -import { DEFAULTS } from "./defaults"; -const endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/endpoint/dist-src/merge.js deleted file mode 100644 index baf7469..0000000 --- a/node_modules/@octokit/endpoint/dist-src/merge.js +++ /dev/null @@ -1,27 +0,0 @@ -import { lowercaseKeys } from "./util/lowercase-keys"; -import { mergeDeep } from "./util/merge-deep"; -import { removeUndefinedProperties } from "./util/remove-undefined-properties"; -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; -} -export { - merge -}; diff --git a/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/endpoint/dist-src/parse.js deleted file mode 100644 index 2cbbe7c..0000000 --- a/node_modules/@octokit/endpoint/dist-src/parse.js +++ /dev/null @@ -1,70 +0,0 @@ -import { addQueryParameters } from "./util/add-query-parameters"; -import { extractUrlVariableNames } from "./util/extract-url-variable-names"; -import { omit } from "./util/omit"; -import { parseUrl } from "./util/url-template"; -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(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => { - 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 - ); -} -export { - parse -}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js deleted file mode 100644 index 6bdf736..0000000 --- a/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js +++ /dev/null @@ -1,16 +0,0 @@ -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("&"); -} -export { - addQueryParameters -}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js deleted file mode 100644 index 1d75bb9..0000000 --- a/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js +++ /dev/null @@ -1,14 +0,0 @@ -const urlVariableRegex = /\{[^}]+\}/g; -function removeNonChars(variableName) { - return variableName.replace(/^\W+|\W+$/g, "").split(/,/); -} -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - if (!matches) { - return []; - } - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); -} -export { - extractUrlVariableNames -}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js deleted file mode 100644 index 9bd7bb9..0000000 --- a/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js +++ /dev/null @@ -1,12 +0,0 @@ -function lowercaseKeys(object) { - if (!object) { - return {}; - } - return Object.keys(object).reduce((newObj, key) => { - newObj[key.toLowerCase()] = object[key]; - return newObj; - }, {}); -} -export { - lowercaseKeys -}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js deleted file mode 100644 index 1185e48..0000000 --- a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js +++ /dev/null @@ -1,18 +0,0 @@ -import { isPlainObject } from "is-plain-object"; -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach((key) => { - if (isPlainObject(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; -} -export { - mergeDeep -}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/endpoint/dist-src/util/omit.js deleted file mode 100644 index 11b467b..0000000 --- a/node_modules/@octokit/endpoint/dist-src/util/omit.js +++ /dev/null @@ -1,9 +0,0 @@ -function omit(object, keysToOmit) { - return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); -} -export { - omit -}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js deleted file mode 100644 index 8653027..0000000 --- a/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js +++ /dev/null @@ -1,11 +0,0 @@ -function removeUndefinedProperties(obj) { - for (const key in obj) { - if (obj[key] === void 0) { - delete obj[key]; - } - } - return obj; -} -export { - removeUndefinedProperties -}; diff --git a/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/endpoint/dist-src/util/url-template.js deleted file mode 100644 index e1abdd5..0000000 --- a/node_modules/@octokit/endpoint/dist-src/util/url-template.js +++ /dev/null @@ -1,128 +0,0 @@ -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 = ["+", "#", ".", "/", ";", "?", "&"]; - return 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); - } - } - ); -} -export { - parseUrl -}; diff --git a/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/endpoint/dist-src/version.js deleted file mode 100644 index 19fc423..0000000 --- a/node_modules/@octokit/endpoint/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "9.0.1"; -export { - VERSION -}; diff --git a/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/endpoint/dist-src/with-defaults.js deleted file mode 100644 index 6d508f0..0000000 --- a/node_modules/@octokit/endpoint/dist-src/with-defaults.js +++ /dev/null @@ -1,16 +0,0 @@ -import { endpointWithDefaults } from "./endpoint-with-defaults"; -import { merge } from "./merge"; -import { parse } from "./parse"; -function withDefaults(oldDefaults, newDefaults) { - const DEFAULTS = merge(oldDefaults, newDefaults); - const endpoint = endpointWithDefaults.bind(null, DEFAULTS); - return Object.assign(endpoint, { - DEFAULTS, - defaults: withDefaults.bind(null, DEFAULTS), - merge: merge.bind(null, DEFAULTS), - parse - }); -} -export { - withDefaults -}; diff --git a/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts deleted file mode 100644 index d65e889..0000000 --- a/node_modules/@octokit/endpoint/dist-types/defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults } from "@octokit/types"; -export declare const DEFAULTS: EndpointDefaults; diff --git a/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts deleted file mode 100644 index c36732e..0000000 --- a/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { EndpointOptions, RequestParameters, Route } from "@octokit/types"; -import { DEFAULTS } from "./defaults"; -export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions; diff --git a/node_modules/@octokit/endpoint/dist-types/index.d.ts b/node_modules/@octokit/endpoint/dist-types/index.d.ts deleted file mode 100644 index 1ede136..0000000 --- a/node_modules/@octokit/endpoint/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const endpoint: import("@octokit/types").EndpointInterface; diff --git a/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/endpoint/dist-types/merge.d.ts deleted file mode 100644 index f583981..0000000 --- a/node_modules/@octokit/endpoint/dist-types/merge.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types"; -export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults; diff --git a/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/endpoint/dist-types/parse.d.ts deleted file mode 100644 index 5d0927a..0000000 --- a/node_modules/@octokit/endpoint/dist-types/parse.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointDefaults, RequestOptions } from "@octokit/types"; -export declare function parse(options: EndpointDefaults): RequestOptions; diff --git a/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts b/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts deleted file mode 100644 index 4b192ac..0000000 --- a/node_modules/@octokit/endpoint/dist-types/util/add-query-parameters.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare function addQueryParameters(url: string, parameters: { - [x: string]: string | undefined; - q?: string; -}): string; diff --git a/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts b/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts deleted file mode 100644 index 93586d4..0000000 --- a/node_modules/@octokit/endpoint/dist-types/util/extract-url-variable-names.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function extractUrlVariableNames(url: string): string[]; diff --git a/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts b/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts deleted file mode 100644 index 1daf307..0000000 --- a/node_modules/@octokit/endpoint/dist-types/util/lowercase-keys.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function lowercaseKeys(object?: { - [key: string]: any; -}): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts b/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts deleted file mode 100644 index 914411c..0000000 --- a/node_modules/@octokit/endpoint/dist-types/util/merge-deep.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function mergeDeep(defaults: any, options: any): object; diff --git a/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts b/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts deleted file mode 100644 index 06927d6..0000000 --- a/node_modules/@octokit/endpoint/dist-types/util/omit.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare function omit(object: { - [key: string]: any; -}, keysToOmit: string[]): { - [key: string]: any; -}; diff --git a/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts b/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts deleted file mode 100644 index 92d8d85..0000000 --- a/node_modules/@octokit/endpoint/dist-types/util/remove-undefined-properties.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function removeUndefinedProperties(obj: any): any; diff --git a/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts b/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts deleted file mode 100644 index 5d967ca..0000000 --- a/node_modules/@octokit/endpoint/dist-types/util/url-template.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare function parseUrl(template: string): { - expand: (context: object) => string; -}; diff --git a/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/endpoint/dist-types/version.d.ts deleted file mode 100644 index 274ce0e..0000000 --- a/node_modules/@octokit/endpoint/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "9.0.1"; diff --git a/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts deleted file mode 100644 index e09354c..0000000 --- a/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types"; -export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface; diff --git a/node_modules/@octokit/endpoint/dist-web/index.js b/node_modules/@octokit/endpoint/dist-web/index.js deleted file mode 100644 index 6c7ecd4..0000000 --- a/node_modules/@octokit/endpoint/dist-web/index.js +++ /dev/null @@ -1,331 +0,0 @@ -// pkg/dist-src/defaults.js -import { getUserAgent } from "universal-user-agent"; - -// pkg/dist-src/version.js -var VERSION = "9.0.1"; - -// pkg/dist-src/defaults.js -var userAgent = `octokit-endpoint.js/${VERSION} ${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/merge-deep.js -import { isPlainObject } from "is-plain-object"; -function mergeDeep(defaults, options) { - const result = Object.assign({}, defaults); - Object.keys(options).forEach((key) => { - if (isPlainObject(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+|\W+$/g, "").split(/,/); -} -function extractUrlVariableNames(url) { - const matches = url.match(urlVariableRegex); - if (!matches) { - return []; - } - return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); -} - -// pkg/dist-src/util/omit.js -function omit(object, keysToOmit) { - return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => { - obj[key] = object[key]; - return obj; - }, {}); -} - -// 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 = ["+", "#", ".", "/", ";", "?", "&"]; - return 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); - } - } - ); -} - -// 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(/[\w-]+(?=-preview)/g) || []; - headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => { - 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(oldDefaults, newDefaults) { - const DEFAULTS2 = merge(oldDefaults, newDefaults); - const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2); - return Object.assign(endpoint2, { - DEFAULTS: DEFAULTS2, - defaults: withDefaults.bind(null, DEFAULTS2), - merge: merge.bind(null, DEFAULTS2), - parse - }); -} - -// pkg/dist-src/index.js -var endpoint = withDefaults(null, DEFAULTS); -export { - endpoint -}; diff --git a/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@octokit/endpoint/dist-web/index.js.map deleted file mode 100644 index db050ae..0000000 --- a/node_modules/@octokit/endpoint/dist-web/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/merge-deep.js", "../dist-src/util/remove-undefined-properties.js", "../dist-src/merge.js", "../dist-src/util/add-query-parameters.js", "../dist-src/util/extract-url-variable-names.js", "../dist-src/util/omit.js", "../dist-src/util/url-template.js", "../dist-src/parse.js", "../dist-src/endpoint-with-defaults.js", "../dist-src/with-defaults.js", "../dist-src/index.js"], - "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst 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};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.1\";\nexport {\n VERSION\n};\n", "function 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}\nexport {\n lowercaseKeys\n};\n", "import { isPlainObject } from \"is-plain-object\";\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))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\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}\nexport {\n merge\n};\n", "function 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}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\nexport {\n extractUrlVariableNames\n};\n", "function omit(object, keysToOmit) {\n return Object.keys(object).filter((option) => !keysToOmit.includes(option)).reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\nexport {\n omit\n};\n", "function 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 return 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}\nexport {\n parseUrl\n};\n", "import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\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(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {\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}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n", "import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n"], - "mappings": ";AAAA,SAAS,oBAAoB;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAM,YAAY,uBAAuB,OAAO,IAAI,aAAa,CAAC;AAClE,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,EACV;AACF;;;AEbA,SAAS,cAAc,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACjD,WAAO,IAAI,YAAY,CAAC,IAAI,OAAO,GAAG;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACRA,SAAS,qBAAqB;AAC9B,SAAS,UAAU,UAAU,SAAS;AACpC,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ;AACzC,SAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,QAAI,cAAc,QAAQ,GAAG,CAAC,GAAG;AAC/B,UAAI,EAAE,OAAO;AACX,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA;AAE7C,eAAO,GAAG,IAAI,UAAU,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAC;AAAA,IACvD,OAAO;AACL,aAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACdA,SAAS,0BAA0B,KAAK;AACtC,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAQ;AACvB,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;;;ACJA,SAAS,MAAM,UAAU,OAAO,SAAS;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACnC,cAAU,OAAO,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,OAAO,GAAG,OAAO;AAAA,EAC1E,OAAO;AACL,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,EACnC;AACA,UAAQ,UAAU,cAAc,QAAQ,OAAO;AAC/C,4BAA0B,OAAO;AACjC,4BAA0B,QAAQ,OAAO;AACzC,QAAM,gBAAgB,UAAU,YAAY,CAAC,GAAG,OAAO;AACvD,MAAI,QAAQ,QAAQ,YAAY;AAC9B,QAAI,YAAY,SAAS,UAAU,UAAU,QAAQ;AACnD,oBAAc,UAAU,WAAW,SAAS,UAAU,SAAS;AAAA,QAC7D,CAAC,YAAY,CAAC,cAAc,UAAU,SAAS,SAAS,OAAO;AAAA,MACjE,EAAE,OAAO,cAAc,UAAU,QAAQ;AAAA,IAC3C;AACA,kBAAc,UAAU,YAAY,cAAc,UAAU,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,QAAQ,QAAQ,YAAY,EAAE,CAAC;AAAA,EAC9H;AACA,SAAO;AACT;;;ACvBA,SAAS,mBAAmB,KAAK,YAAY;AAC3C,QAAM,YAAY,KAAK,KAAK,GAAG,IAAI,MAAM;AACzC,QAAM,QAAQ,OAAO,KAAK,UAAU;AACpC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AAC3C,QAAI,SAAS,KAAK;AAChB,aAAO,OAAO,WAAW,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAAA,IACxE;AACA,WAAO,GAAG,IAAI,IAAI,mBAAmB,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD,CAAC,EAAE,KAAK,GAAG;AACb;;;ACZA,IAAM,mBAAmB;AACzB,SAAS,eAAe,cAAc;AACpC,SAAO,aAAa,QAAQ,cAAc,EAAE,EAAE,MAAM,GAAG;AACzD;AACA,SAAS,wBAAwB,KAAK;AACpC,QAAM,UAAU,IAAI,MAAM,gBAAgB;AAC1C,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AACA,SAAO,QAAQ,IAAI,cAAc,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACrE;;;ACVA,SAAS,KAAK,QAAQ,YAAY;AAChC,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,SAAS,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,QAAQ;AAC/F,QAAI,GAAG,IAAI,OAAO,GAAG;AACrB,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACLA,SAAS,eAAe,KAAK;AAC3B,SAAO,IAAI,MAAM,oBAAoB,EAAE,IAAI,SAAS,MAAM;AACxD,QAAI,CAAC,eAAe,KAAK,IAAI,GAAG;AAC9B,aAAO,UAAU,IAAI,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,QAAQ,GAAG;AAAA,IACjE;AACA,WAAO;AAAA,EACT,CAAC,EAAE,KAAK,EAAE;AACZ;AACA,SAAS,iBAAiB,KAAK;AAC7B,SAAO,mBAAmB,GAAG,EAAE,QAAQ,YAAY,SAAS,GAAG;AAC7D,WAAO,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY;AAAA,EACxD,CAAC;AACH;AACA,SAAS,YAAY,UAAU,OAAO,KAAK;AACzC,UAAQ,aAAa,OAAO,aAAa,MAAM,eAAe,KAAK,IAAI,iBAAiB,KAAK;AAC7F,MAAI,KAAK;AACP,WAAO,iBAAiB,GAAG,IAAI,MAAM;AAAA,EACvC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AACA,SAAS,UAAU,OAAO;AACxB,SAAO,UAAU,UAAU,UAAU;AACvC;AACA,SAAS,cAAc,UAAU;AAC/B,SAAO,aAAa,OAAO,aAAa,OAAO,aAAa;AAC9D;AACA,SAAS,UAAU,SAAS,UAAU,KAAK,UAAU;AACnD,MAAI,QAAQ,QAAQ,GAAG,GAAG,SAAS,CAAC;AACpC,MAAI,UAAU,KAAK,KAAK,UAAU,IAAI;AACpC,QAAI,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,SAAO,SAAS;AAAA,IACd;AAAA,IACA,SAAS,GAAG,YAAY,SAAS;AAC/B,UAAI,YAAY;AACd,YAAI,WAAW;AACf,cAAM,SAAS,CAAC;AAChB,YAAI,UAAU,QAAQ,WAAW,OAAO,CAAC,CAAC,MAAM,IAAI;AAClD,qBAAW,WAAW,OAAO,CAAC;AAC9B,uBAAa,WAAW,OAAO,CAAC;AAAA,QAClC;AACA,mBAAW,MAAM,IAAI,EAAE,QAAQ,SAAS,UAAU;AAChD,cAAI,MAAM,4BAA4B,KAAK,QAAQ;AACnD,iBAAO,KAAK,UAAU,SAAS,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAAA,QACpE,CAAC;AACD,YAAI,YAAY,aAAa,KAAK;AAChC,cAAI,YAAY;AAChB,cAAI,aAAa,KAAK;AACpB,wBAAY;AAAA,UACd,WAAW,aAAa,KAAK;AAC3B,wBAAY;AAAA,UACd;AACA,kBAAQ,OAAO,WAAW,IAAI,WAAW,MAAM,OAAO,KAAK,SAAS;AAAA,QACtE,OAAO;AACL,iBAAO,OAAO,KAAK,GAAG;AAAA,QACxB;AAAA,MACF,OAAO;AACL,eAAO,eAAe,OAAO;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACF;;;ACxHA,SAAS,MAAM,SAAS;AACtB,MAAI,SAAS,QAAQ,OAAO,YAAY;AACxC,MAAI,OAAO,QAAQ,OAAO,KAAK,QAAQ,gBAAgB,MAAM;AAC7D,MAAI,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO;AAC/C,MAAI;AACJ,MAAI,aAAa,KAAK,SAAS;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,mBAAmB,wBAAwB,GAAG;AACpD,QAAM,SAAS,GAAG,EAAE,OAAO,UAAU;AACrC,MAAI,CAAC,QAAQ,KAAK,GAAG,GAAG;AACtB,UAAM,QAAQ,UAAU;AAAA,EAC1B;AACA,QAAM,oBAAoB,OAAO,KAAK,OAAO,EAAE,OAAO,CAAC,WAAW,iBAAiB,SAAS,MAAM,CAAC,EAAE,OAAO,SAAS;AACrH,QAAM,sBAAsB,KAAK,YAAY,iBAAiB;AAC9D,QAAM,kBAAkB,6BAA6B,KAAK,QAAQ,MAAM;AACxE,MAAI,CAAC,iBAAiB;AACpB,QAAI,QAAQ,UAAU,QAAQ;AAC5B,cAAQ,SAAS,QAAQ,OAAO,MAAM,GAAG,EAAE;AAAA,QACzC,CAAC,WAAW,OAAO;AAAA,UACjB;AAAA,UACA,uBAAuB,QAAQ,UAAU,MAAM;AAAA,QACjD;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AACA,QAAI,IAAI,SAAS,UAAU,GAAG;AAC5B,UAAI,QAAQ,UAAU,UAAU,QAAQ;AACtC,cAAM,2BAA2B,QAAQ,OAAO,MAAM,qBAAqB,KAAK,CAAC;AACjF,gBAAQ,SAAS,yBAAyB,OAAO,QAAQ,UAAU,QAAQ,EAAE,IAAI,CAAC,YAAY;AAC5F,gBAAM,SAAS,QAAQ,UAAU,SAAS,IAAI,QAAQ,UAAU,MAAM,KAAK;AAC3E,iBAAO,0BAA0B,OAAO,WAAW,MAAM;AAAA,QAC3D,CAAC,EAAE,KAAK,GAAG;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,OAAO,MAAM,EAAE,SAAS,MAAM,GAAG;AACpC,UAAM,mBAAmB,KAAK,mBAAmB;AAAA,EACnD,OAAO;AACL,QAAI,UAAU,qBAAqB;AACjC,aAAO,oBAAoB;AAAA,IAC7B,OAAO;AACL,UAAI,OAAO,KAAK,mBAAmB,EAAE,QAAQ;AAC3C,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,QAAQ,cAAc,KAAK,OAAO,SAAS,aAAa;AAC3D,YAAQ,cAAc,IAAI;AAAA,EAC5B;AACA,MAAI,CAAC,SAAS,KAAK,EAAE,SAAS,MAAM,KAAK,OAAO,SAAS,aAAa;AACpE,WAAO;AAAA,EACT;AACA,SAAO,OAAO;AAAA,IACZ,EAAE,QAAQ,KAAK,QAAQ;AAAA,IACvB,OAAO,SAAS,cAAc,EAAE,KAAK,IAAI;AAAA,IACzC,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAQ,IAAI;AAAA,EACnD;AACF;;;AC/DA,SAAS,qBAAqB,UAAU,OAAO,SAAS;AACtD,SAAO,MAAM,MAAM,UAAU,OAAO,OAAO,CAAC;AAC9C;;;ACFA,SAAS,aAAa,aAAa,aAAa;AAC9C,QAAMA,YAAW,MAAM,aAAa,WAAW;AAC/C,QAAMC,YAAW,qBAAqB,KAAK,MAAMD,SAAQ;AACzD,SAAO,OAAO,OAAOC,WAAU;AAAA,IAC7B,UAAAD;AAAA,IACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,IAC1C,OAAO,MAAM,KAAK,MAAMA,SAAQ;AAAA,IAChC;AAAA,EACF,CAAC;AACH;;;ACVA,IAAM,WAAW,aAAa,MAAM,QAAQ;", - "names": ["DEFAULTS", "endpoint"] -} diff --git a/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/endpoint/package.json deleted file mode 100644 index 5c958c0..0000000 --- a/node_modules/@octokit/endpoint/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "@octokit/endpoint", - "version": "9.0.1", - "publishConfig": { - "access": "public" - }, - "description": "Turns REST API endpoints into generic request options", - "repository": "github:octokit/endpoint.js", - "keywords": [ - "octokit", - "github", - "api", - "rest" - ], - "author": "Gregor Martynus (https://github.com/gr2m)", - "license": "MIT", - "devDependencies": { - "@octokit/tsconfig": "^2.0.0", - "@types/jest": "^29.0.0", - "esbuild": "^0.19.0", - "glob": "^10.2.7", - "jest": "^29.0.0", - "prettier": "3.0.3", - "semantic-release": "^22.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^29.0.0", - "typescript": "^5.0.0" - }, - "dependencies": { - "@octokit/types": "^12.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - }, - "files": [ - "dist-*/**", - "bin/**" - ], - "main": "dist-node/index.js", - "browser": "dist-web/index.js", - "types": "dist-types/index.d.ts", - "module": "dist-src/index.js", - "sideEffects": false -} diff --git a/node_modules/@octokit/graphql/LICENSE b/node_modules/@octokit/graphql/LICENSE deleted file mode 100644 index af5366d..0000000 --- a/node_modules/@octokit/graphql/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/graphql/README.md b/node_modules/@octokit/graphql/README.md deleted file mode 100644 index 58b3b10..0000000 --- a/node_modules/@octokit/graphql/README.md +++ /dev/null @@ -1,409 +0,0 @@ -# graphql.js - -> GitHub GraphQL API client for browsers and Node - -[![@latest](https://img.shields.io/npm/v/@octokit/graphql.svg)](https://www.npmjs.com/package/@octokit/graphql) -[![Build Status](https://github.com/octokit/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit/graphql.js/actions?query=workflow%3ATest+branch%3Amain) - - - -- [Usage](#usage) - - [Send a simple query](#send-a-simple-query) - - [Authentication](#authentication) - - [Variables](#variables) - - [Pass query together with headers and variables](#pass-query-together-with-headers-and-variables) - - [Use with GitHub Enterprise](#use-with-github-enterprise) - - [Use custom `@octokit/request` instance](#use-custom-octokitrequest-instance) -- [TypeScript](#typescript) - - [Additional Types](#additional-types) -- [Errors](#errors) -- [Partial responses](#partial-responses) -- [Writing tests](#writing-tests) -- [License](#license) - - - -## Usage - - - - - - -
-Browsers - - -Load `@octokit/graphql` directly from [esm.sh](https://esm.sh) - -```html - -``` - -
-Node - - -Install with npm install @octokit/graphql - -```js -const { graphql } = require("@octokit/graphql"); -// or: import { graphql } from "@octokit/graphql"; -``` - -
- -### Send a simple query - -```js -const { repository } = await graphql( - ` - { - repository(owner: "octokit", name: "graphql.js") { - issues(last: 3) { - edges { - node { - title - } - } - } - } - } - `, - { - headers: { - authorization: `token secret123`, - }, - }, -); -``` - -### Authentication - -The simplest way to authenticate a request is to set the `Authorization` header, e.g. to a [personal access token](https://github.com/settings/tokens/). - -```js -const graphqlWithAuth = graphql.defaults({ - headers: { - authorization: `token secret123`, - }, -}); -const { repository } = await graphqlWithAuth(` - { - repository(owner: "octokit", name: "graphql.js") { - issues(last: 3) { - edges { - node { - title - } - } - } - } - } -`); -``` - -For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). - -```js -const { createAppAuth } = require("@octokit/auth-app"); -const auth = createAppAuth({ - appId: process.env.APP_ID, - privateKey: process.env.PRIVATE_KEY, - installationId: 123, -}); -const graphqlWithAuth = graphql.defaults({ - request: { - hook: auth.hook, - }, -}); - -const { repository } = await graphqlWithAuth( - `{ - repository(owner: "octokit", name: "graphql.js") { - issues(last: 3) { - edges { - node { - title - } - } - } - } - }`, -); -``` - -### Variables - -âš ï¸ Do not use [template literals](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) in the query strings as they make your code vulnerable to query injection attacks (see [#2](https://github.com/octokit/graphql.js/issues/2)). Use variables instead: - -```js -const { lastIssues } = await graphql( - ` - query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { - repository(owner: $owner, name: $repo) { - issues(last: $num) { - edges { - node { - title - } - } - } - } - } - `, - { - owner: "octokit", - repo: "graphql.js", - headers: { - authorization: `token secret123`, - }, - }, -); -``` - -### Pass query together with headers and variables - -```js -const { graphql } = require("@octokit/graphql"); -const { lastIssues } = await graphql({ - query: `query lastIssues($owner: String!, $repo: String!, $num: Int = 3) { - repository(owner:$owner, name:$repo) { - issues(last:$num) { - edges { - node { - title - } - } - } - } - }`, - owner: "octokit", - repo: "graphql.js", - headers: { - authorization: `token secret123`, - }, -}); -``` - -### Use with GitHub Enterprise - -```js -let { graphql } = require("@octokit/graphql"); -graphql = graphql.defaults({ - baseUrl: "https://github-enterprise.acme-inc.com/api", - headers: { - authorization: `token secret123`, - }, -}); -const { repository } = await graphql(` - { - repository(owner: "acme-project", name: "acme-repo") { - issues(last: 3) { - edges { - node { - title - } - } - } - } - } -`); -``` - -### Use custom `@octokit/request` instance - -```js -const { request } = require("@octokit/request"); -const { withCustomRequest } = require("@octokit/graphql"); - -let requestCounter = 0; -const myRequest = request.defaults({ - headers: { - authorization: "bearer secret123", - }, - request: { - hook(request, options) { - requestCounter++; - return request(options); - }, - }, -}); -const myGraphql = withCustomRequest(myRequest); -await request("/"); -await myGraphql(` - { - repository(owner: "acme-project", name: "acme-repo") { - issues(last: 3) { - edges { - node { - title - } - } - } - } - } -`); -// requestCounter is now 2 -``` - -## TypeScript - -`@octokit/graphql` is exposing proper types for its usage with TypeScript projects. - -### Additional Types - -Additionally, `GraphQlQueryResponseData` has been exposed to users: - -```ts -import type { GraphQlQueryResponseData } from "@octokit/graphql"; -``` - -## Errors - -In case of a GraphQL error, `error.message` is set to a combined message describing all errors returned by the endpoint. -All errors can be accessed at `error.errors`. `error.request` has the request options such as query, variables and headers set for easier debugging. - -```js -let { graphql, GraphqlResponseError } = require("@octokit/graphql"); -graphql = graphql.defaults({ - headers: { - authorization: `token secret123`, - }, -}); -const query = `{ - viewer { - bioHtml - } -}`; - -try { - const result = await graphql(query); -} catch (error) { - if (error instanceof GraphqlResponseError) { - // do something with the error, allowing you to detect a graphql response error, - // compared to accidentally catching unrelated errors. - - // server responds with an object like the following (as an example) - // class GraphqlResponseError { - // "headers": { - // "status": "403", - // }, - // "data": null, - // "errors": [{ - // "message": "Field 'bioHtml' doesn't exist on type 'User'", - // "locations": [{ - // "line": 3, - // "column": 5 - // }] - // }] - // } - - console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } - console.log(error.message); // Field 'bioHtml' doesn't exist on type 'User' - } else { - // handle non-GraphQL error - } -} -``` - -## Partial responses - -A GraphQL query may respond with partial data accompanied by errors. In this case we will throw an error but the partial data will still be accessible through `error.data` - -```js -let { graphql } = require("@octokit/graphql"); -graphql = graphql.defaults({ - headers: { - authorization: `token secret123`, - }, -}); -const query = `{ - repository(name: "probot", owner: "probot") { - name - ref(qualifiedName: "master") { - target { - ... on Commit { - history(first: 25, after: "invalid cursor") { - nodes { - message - } - } - } - } - } - } -}`; - -try { - const result = await graphql(query); -} catch (error) { - // server responds with - // { - // "data": { - // "repository": { - // "name": "probot", - // "ref": null - // } - // }, - // "errors": [ - // { - // "type": "INVALID_CURSOR_ARGUMENTS", - // "path": [ - // "repository", - // "ref", - // "target", - // "history" - // ], - // "locations": [ - // { - // "line": 7, - // "column": 11 - // } - // ], - // "message": "`invalid cursor` does not appear to be a valid cursor." - // } - // ] - // } - - console.log("Request failed:", error.request); // { query, variables: {}, headers: { authorization: 'token secret123' } } - console.log(error.message); // `invalid cursor` does not appear to be a valid cursor. - console.log(error.data); // { repository: { name: 'probot', ref: null } } -} -``` - -## Writing tests - -You can pass a replacement for [the built-in fetch implementation](https://github.com/bitinn/node-fetch) as `request.fetch` option. For example, using [fetch-mock](http://www.wheresrhys.co.uk/fetch-mock/) works great to write tests - -```js -const assert = require("assert"); -const fetchMock = require("fetch-mock/es5/server"); - -const { graphql } = require("@octokit/graphql"); - -graphql("{ viewer { login } }", { - headers: { - authorization: "token secret123", - }, - request: { - fetch: fetchMock - .sandbox() - .post("https://api.github.com/graphql", (url, options) => { - assert.strictEqual(options.headers.authorization, "token secret123"); - assert.strictEqual( - options.body, - '{"query":"{ viewer { login } }"}', - "Sends correct query", - ); - return { data: {} }; - }), - }, -}); -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/graphql/dist-node/index.js b/node_modules/@octokit/graphql/dist-node/index.js deleted file mode 100644 index e5b0a4e..0000000 --- a/node_modules/@octokit/graphql/dist-node/index.js +++ /dev/null @@ -1,154 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - GraphqlResponseError: () => GraphqlResponseError, - graphql: () => graphql2, - withCustomRequest: () => withCustomRequest -}); -module.exports = __toCommonJS(dist_src_exports); -var import_request3 = require("@octokit/request"); -var import_universal_user_agent = require("universal-user-agent"); - -// pkg/dist-src/version.js -var VERSION = "7.0.2"; - -// pkg/dist-src/with-defaults.js -var import_request2 = require("@octokit/request"); - -// pkg/dist-src/graphql.js -var import_request = require("@octokit/request"); - -// 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.name = "GraphqlResponseError"; - this.errors = response.errors; - this.data = response.data; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - } -}; - -// pkg/dist-src/graphql.js -var NON_VARIABLE_OPTIONS = [ - "method", - "baseUrl", - "url", - "headers", - "request", - "query", - "mediaType" -]; -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 -var graphql2 = withDefaults(import_request3.request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` - }, - method: "POST", - url: "/graphql" -}); -function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); -} -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - GraphqlResponseError, - graphql, - withCustomRequest -}); diff --git a/node_modules/@octokit/graphql/dist-node/index.js.map b/node_modules/@octokit/graphql/dist-node/index.js.map deleted file mode 100644 index a9d0f75..0000000 --- a/node_modules/@octokit/graphql/dist-node/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/with-defaults.js", "../dist-src/graphql.js", "../dist-src/error.js"], - "sourcesContent": ["import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nconst graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nimport { GraphqlResponseError } from \"./error\";\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql,\n withCustomRequest\n};\n", "const VERSION = \"7.0.2\";\nexport {\n VERSION\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nfunction withDefaults(request, newDefaults) {\n const newRequest = request.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}\nexport {\n withDefaults\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, 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))\n 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 || request.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 request(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}\nexport {\n graphql\n};\n", "function _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\nexport {\n GraphqlResponseError\n};\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,iBAAAA;AAAA,EAAA;AAAA;AAAA;AAAA,IAAAC,kBAAwB;AACxB,kCAA6B;;;ACD7B,IAAM,UAAU;;;ACAhB,IAAAC,kBAAmC;;;ACAnC,qBAAmC;;;ACAnC,SAAS,+BAA+B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK,OAAO,IAAI,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI;AACvD;AACA,IAAM,uBAAN,cAAmC,MAAM;AAAA,EACvC,YAAYC,UAAS,SAAS,UAAU;AACtC,UAAM,+BAA+B,QAAQ,CAAC;AAC9C,SAAK,UAAUA;AACf,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,OAAO;AACZ,SAAK,SAAS,SAAS;AACvB,SAAK,OAAO,SAAS;AACrB,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,IAChD;AAAA,EACF;AACF;;;ADfA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAM,6BAA6B,CAAC,SAAS,UAAU,KAAK;AAC5D,IAAM,uBAAuB;AAC7B,SAAS,QAAQC,UAAS,OAAO,SAAS;AACxC,MAAI,SAAS;AACX,QAAI,OAAO,UAAU,YAAY,WAAW,SAAS;AACnD,aAAO,QAAQ;AAAA,QACb,IAAI,MAAM,4DAA4D;AAAA,MACxE;AAAA,IACF;AACA,eAAW,OAAO,SAAS;AACzB,UAAI,CAAC,2BAA2B,SAAS,GAAG;AAC1C;AACF,aAAO,QAAQ;AAAA,QACb,IAAI;AAAA,UACF,uBAAuB,GAAG;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,gBAAgB,OAAO,UAAU,WAAW,OAAO,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI;AACtF,QAAM,iBAAiB,OAAO;AAAA,IAC5B;AAAA,EACF,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACxB,QAAI,qBAAqB,SAAS,GAAG,GAAG;AACtC,aAAO,GAAG,IAAI,cAAc,GAAG;AAC/B,aAAO;AAAA,IACT;AACA,QAAI,CAAC,OAAO,WAAW;AACrB,aAAO,YAAY,CAAC;AAAA,IACtB;AACA,WAAO,UAAU,GAAG,IAAI,cAAc,GAAG;AACzC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACL,QAAM,UAAU,cAAc,WAAWA,SAAQ,SAAS,SAAS;AACnE,MAAI,qBAAqB,KAAK,OAAO,GAAG;AACtC,mBAAe,MAAM,QAAQ,QAAQ,sBAAsB,cAAc;AAAA,EAC3E;AACA,SAAOA,SAAQ,cAAc,EAAE,KAAK,CAAC,aAAa;AAChD,QAAI,SAAS,KAAK,QAAQ;AACxB,YAAM,UAAU,CAAC;AACjB,iBAAW,OAAO,OAAO,KAAK,SAAS,OAAO,GAAG;AAC/C,gBAAQ,GAAG,IAAI,SAAS,QAAQ,GAAG;AAAA,MACrC;AACA,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,SAAS,KAAK;AAAA,EACvB,CAAC;AACH;;;AD5DA,SAAS,aAAaC,UAAS,aAAa;AAC1C,QAAM,aAAaA,SAAQ,SAAS,WAAW;AAC/C,QAAM,SAAS,CAAC,OAAO,YAAY;AACjC,WAAO,QAAQ,YAAY,OAAO,OAAO;AAAA,EAC3C;AACA,SAAO,OAAO,OAAO,QAAQ;AAAA,IAC3B,UAAU,aAAa,KAAK,MAAM,UAAU;AAAA,IAC5C,UAAU,WAAW;AAAA,EACvB,CAAC;AACH;;;AFPA,IAAMC,WAAU,aAAa,yBAAS;AAAA,EACpC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,QAAI,0CAAa,CAAC;AAAA,EAC/D;AAAA,EACA,QAAQ;AAAA,EACR,KAAK;AACP,CAAC;AAED,SAAS,kBAAkB,eAAe;AACxC,SAAO,aAAa,eAAe;AAAA,IACjC,QAAQ;AAAA,IACR,KAAK;AAAA,EACP,CAAC;AACH;", - "names": ["graphql", "import_request", "import_request", "request", "request", "request", "graphql"] -} diff --git a/node_modules/@octokit/graphql/dist-src/error.js b/node_modules/@octokit/graphql/dist-src/error.js deleted file mode 100644 index dd0f4e6..0000000 --- a/node_modules/@octokit/graphql/dist-src/error.js +++ /dev/null @@ -1,21 +0,0 @@ -function _buildMessageForResponseErrors(data) { - return `Request failed due to following response errors: -` + data.errors.map((e) => ` - ${e.message}`).join("\n"); -} -class GraphqlResponseError extends Error { - constructor(request, headers, response) { - super(_buildMessageForResponseErrors(response)); - this.request = request; - this.headers = headers; - this.response = response; - this.name = "GraphqlResponseError"; - this.errors = response.errors; - this.data = response.data; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - } -} -export { - GraphqlResponseError -}; diff --git a/node_modules/@octokit/graphql/dist-src/graphql.js b/node_modules/@octokit/graphql/dist-src/graphql.js deleted file mode 100644 index fda0c5f..0000000 --- a/node_modules/@octokit/graphql/dist-src/graphql.js +++ /dev/null @@ -1,66 +0,0 @@ -import { request as Request } from "@octokit/request"; -import { GraphqlResponseError } from "./error"; -const NON_VARIABLE_OPTIONS = [ - "method", - "baseUrl", - "url", - "headers", - "request", - "query", - "mediaType" -]; -const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; -const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; -function graphql(request, 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 || request.endpoint.DEFAULTS.baseUrl; - if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { - requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); - } - return request(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; - }); -} -export { - graphql -}; diff --git a/node_modules/@octokit/graphql/dist-src/index.js b/node_modules/@octokit/graphql/dist-src/index.js deleted file mode 100644 index 4e7deb5..0000000 --- a/node_modules/@octokit/graphql/dist-src/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import { request } from "@octokit/request"; -import { getUserAgent } from "universal-user-agent"; -import { VERSION } from "./version"; -import { withDefaults } from "./with-defaults"; -const graphql = withDefaults(request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}` - }, - method: "POST", - url: "/graphql" -}); -import { GraphqlResponseError } from "./error"; -function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); -} -export { - GraphqlResponseError, - graphql, - withCustomRequest -}; diff --git a/node_modules/@octokit/graphql/dist-src/version.js b/node_modules/@octokit/graphql/dist-src/version.js deleted file mode 100644 index ad9f40d..0000000 --- a/node_modules/@octokit/graphql/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "7.0.2"; -export { - VERSION -}; diff --git a/node_modules/@octokit/graphql/dist-src/with-defaults.js b/node_modules/@octokit/graphql/dist-src/with-defaults.js deleted file mode 100644 index 853ce88..0000000 --- a/node_modules/@octokit/graphql/dist-src/with-defaults.js +++ /dev/null @@ -1,15 +0,0 @@ -import { request as Request } from "@octokit/request"; -import { graphql } from "./graphql"; -function withDefaults(request, newDefaults) { - const newRequest = request.defaults(newDefaults); - const newApi = (query, options) => { - return graphql(newRequest, query, options); - }; - return Object.assign(newApi, { - defaults: withDefaults.bind(null, newRequest), - endpoint: newRequest.endpoint - }); -} -export { - withDefaults -}; diff --git a/node_modules/@octokit/graphql/dist-types/error.d.ts b/node_modules/@octokit/graphql/dist-types/error.d.ts deleted file mode 100644 index e921bfa..0000000 --- a/node_modules/@octokit/graphql/dist-types/error.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { ResponseHeaders } from "@octokit/types"; -import type { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types"; -type ServerResponseData = Required>; -export declare class GraphqlResponseError extends Error { - readonly request: GraphQlEndpointOptions; - readonly headers: ResponseHeaders; - readonly response: ServerResponseData; - name: string; - readonly errors: GraphQlQueryResponse["errors"]; - readonly data: ResponseData; - constructor(request: GraphQlEndpointOptions, headers: ResponseHeaders, response: ServerResponseData); -} -export {}; diff --git a/node_modules/@octokit/graphql/dist-types/graphql.d.ts b/node_modules/@octokit/graphql/dist-types/graphql.d.ts deleted file mode 100644 index 376e5df..0000000 --- a/node_modules/@octokit/graphql/dist-types/graphql.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { request as Request } from "@octokit/request"; -import type { RequestParameters, GraphQlQueryResponseData } from "./types"; -export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise; diff --git a/node_modules/@octokit/graphql/dist-types/index.d.ts b/node_modules/@octokit/graphql/dist-types/index.d.ts deleted file mode 100644 index c9b22c9..0000000 --- a/node_modules/@octokit/graphql/dist-types/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { request } from "@octokit/request"; -export declare const graphql: import("./types").graphql; -export type { GraphQlQueryResponseData } from "./types"; -export { GraphqlResponseError } from "./error"; -export declare function withCustomRequest(customRequest: typeof request): import("./types").graphql; diff --git a/node_modules/@octokit/graphql/dist-types/types.d.ts b/node_modules/@octokit/graphql/dist-types/types.d.ts deleted file mode 100644 index ceba025..0000000 --- a/node_modules/@octokit/graphql/dist-types/types.d.ts +++ /dev/null @@ -1,55 +0,0 @@ -import type { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types"; -export type GraphQlEndpointOptions = EndpointOptions & { - variables?: { - [key: string]: unknown; - }; -}; -export type RequestParameters = RequestParametersType; -export type Query = string; -export interface graphql { - /** - * Sends a GraphQL query request based on endpoint options - * The GraphQL query must be specified in `options`. - * - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ - (options: RequestParameters): GraphQlResponse; - /** - * Sends a GraphQL query request based on endpoint options - * - * @param {string} query GraphQL query. Example: `'query { viewer { login } }'`. - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ - (query: Query, parameters?: RequestParameters): GraphQlResponse; - /** - * Returns a new `endpoint` with updated route and parameters - */ - defaults: (newDefaults: RequestParameters) => graphql; - /** - * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} - */ - endpoint: EndpointInterface; -} -export type GraphQlResponse = Promise; -export type GraphQlQueryResponseData = { - [key: string]: any; -}; -export type GraphQlQueryResponse = { - data: ResponseData; - errors?: [ - { - type: string; - message: string; - path: [string]; - extensions: { - [key: string]: any; - }; - locations: [ - { - line: number; - column: number; - } - ]; - } - ]; -}; diff --git a/node_modules/@octokit/graphql/dist-types/version.d.ts b/node_modules/@octokit/graphql/dist-types/version.d.ts deleted file mode 100644 index d5b16a1..0000000 --- a/node_modules/@octokit/graphql/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "7.0.2"; diff --git a/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts b/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts deleted file mode 100644 index 28f22dc..0000000 --- a/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { request as Request } from "@octokit/request"; -import type { graphql as ApiInterface, RequestParameters } from "./types"; -export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface; diff --git a/node_modules/@octokit/graphql/dist-web/index.js b/node_modules/@octokit/graphql/dist-web/index.js deleted file mode 100644 index 9a07f45..0000000 --- a/node_modules/@octokit/graphql/dist-web/index.js +++ /dev/null @@ -1,127 +0,0 @@ -// pkg/dist-src/index.js -import { request } from "@octokit/request"; -import { getUserAgent } from "universal-user-agent"; - -// pkg/dist-src/version.js -var VERSION = "7.0.2"; - -// pkg/dist-src/with-defaults.js -import { request as Request2 } from "@octokit/request"; - -// pkg/dist-src/graphql.js -import { request as Request } from "@octokit/request"; - -// 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.name = "GraphqlResponseError"; - this.errors = response.errors; - this.data = response.data; - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - } -}; - -// pkg/dist-src/graphql.js -var NON_VARIABLE_OPTIONS = [ - "method", - "baseUrl", - "url", - "headers", - "request", - "query", - "mediaType" -]; -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 -var graphql2 = withDefaults(request, { - headers: { - "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}` - }, - method: "POST", - url: "/graphql" -}); -function withCustomRequest(customRequest) { - return withDefaults(customRequest, { - method: "POST", - url: "/graphql" - }); -} -export { - GraphqlResponseError, - graphql2 as graphql, - withCustomRequest -}; diff --git a/node_modules/@octokit/graphql/dist-web/index.js.map b/node_modules/@octokit/graphql/dist-web/index.js.map deleted file mode 100644 index dda71d3..0000000 --- a/node_modules/@octokit/graphql/dist-web/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/with-defaults.js", "../dist-src/graphql.js", "../dist-src/error.js"], - "sourcesContent": ["import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nconst graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nimport { GraphqlResponseError } from \"./error\";\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql,\n withCustomRequest\n};\n", "const VERSION = \"7.0.2\";\nexport {\n VERSION\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nfunction withDefaults(request, newDefaults) {\n const newRequest = request.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}\nexport {\n withDefaults\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, 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))\n 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 || request.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 request(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}\nexport {\n graphql\n};\n", "function _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\nexport {\n GraphqlResponseError\n};\n"], - "mappings": ";AAAA,SAAS,eAAe;AACxB,SAAS,oBAAoB;;;ACD7B,IAAM,UAAU;;;ACAhB,SAAS,WAAWA,gBAAe;;;ACAnC,SAAS,WAAW,eAAe;;;ACAnC,SAAS,+BAA+B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK,OAAO,IAAI,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI;AACvD;AACA,IAAM,uBAAN,cAAmC,MAAM;AAAA,EACvC,YAAYC,UAAS,SAAS,UAAU;AACtC,UAAM,+BAA+B,QAAQ,CAAC;AAC9C,SAAK,UAAUA;AACf,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,OAAO;AACZ,SAAK,SAAS,SAAS;AACvB,SAAK,OAAO,SAAS;AACrB,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,IAChD;AAAA,EACF;AACF;;;ADfA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAM,6BAA6B,CAAC,SAAS,UAAU,KAAK;AAC5D,IAAM,uBAAuB;AAC7B,SAAS,QAAQC,UAAS,OAAO,SAAS;AACxC,MAAI,SAAS;AACX,QAAI,OAAO,UAAU,YAAY,WAAW,SAAS;AACnD,aAAO,QAAQ;AAAA,QACb,IAAI,MAAM,4DAA4D;AAAA,MACxE;AAAA,IACF;AACA,eAAW,OAAO,SAAS;AACzB,UAAI,CAAC,2BAA2B,SAAS,GAAG;AAC1C;AACF,aAAO,QAAQ;AAAA,QACb,IAAI;AAAA,UACF,uBAAuB,GAAG;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,gBAAgB,OAAO,UAAU,WAAW,OAAO,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI;AACtF,QAAM,iBAAiB,OAAO;AAAA,IAC5B;AAAA,EACF,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACxB,QAAI,qBAAqB,SAAS,GAAG,GAAG;AACtC,aAAO,GAAG,IAAI,cAAc,GAAG;AAC/B,aAAO;AAAA,IACT;AACA,QAAI,CAAC,OAAO,WAAW;AACrB,aAAO,YAAY,CAAC;AAAA,IACtB;AACA,WAAO,UAAU,GAAG,IAAI,cAAc,GAAG;AACzC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACL,QAAM,UAAU,cAAc,WAAWA,SAAQ,SAAS,SAAS;AACnE,MAAI,qBAAqB,KAAK,OAAO,GAAG;AACtC,mBAAe,MAAM,QAAQ,QAAQ,sBAAsB,cAAc;AAAA,EAC3E;AACA,SAAOA,SAAQ,cAAc,EAAE,KAAK,CAAC,aAAa;AAChD,QAAI,SAAS,KAAK,QAAQ;AACxB,YAAM,UAAU,CAAC;AACjB,iBAAW,OAAO,OAAO,KAAK,SAAS,OAAO,GAAG;AAC/C,gBAAQ,GAAG,IAAI,SAAS,QAAQ,GAAG;AAAA,MACrC;AACA,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,SAAS,KAAK;AAAA,EACvB,CAAC;AACH;;;AD5DA,SAAS,aAAaC,UAAS,aAAa;AAC1C,QAAM,aAAaA,SAAQ,SAAS,WAAW;AAC/C,QAAM,SAAS,CAAC,OAAO,YAAY;AACjC,WAAO,QAAQ,YAAY,OAAO,OAAO;AAAA,EAC3C;AACA,SAAO,OAAO,OAAO,QAAQ;AAAA,IAC3B,UAAU,aAAa,KAAK,MAAM,UAAU;AAAA,IAC5C,UAAU,WAAW;AAAA,EACvB,CAAC;AACH;;;AFPA,IAAMC,WAAU,aAAa,SAAS;AAAA,EACpC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,IAAI,aAAa,CAAC;AAAA,EAC/D;AAAA,EACA,QAAQ;AAAA,EACR,KAAK;AACP,CAAC;AAED,SAAS,kBAAkB,eAAe;AACxC,SAAO,aAAa,eAAe;AAAA,IACjC,QAAQ;AAAA,IACR,KAAK;AAAA,EACP,CAAC;AACH;", - "names": ["Request", "request", "request", "request", "graphql"] -} diff --git a/node_modules/@octokit/graphql/package.json b/node_modules/@octokit/graphql/package.json deleted file mode 100644 index 342c1bc..0000000 --- a/node_modules/@octokit/graphql/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "@octokit/graphql", - "version": "7.0.2", - "publishConfig": { - "access": "public" - }, - "description": "GitHub GraphQL API client for browsers and Node", - "repository": "github:octokit/graphql.js", - "keywords": [ - "octokit", - "github", - "api", - "graphql" - ], - "author": "Gregor Martynus (https://github.com/gr2m)", - "license": "MIT", - "dependencies": { - "@octokit/request": "^8.0.1", - "@octokit/types": "^12.0.0", - "universal-user-agent": "^6.0.0" - }, - "devDependencies": { - "@octokit/tsconfig": "^2.0.0", - "@types/fetch-mock": "^7.2.5", - "@types/jest": "^29.0.0", - "@types/node": "^18.0.0", - "esbuild": "^0.19.0", - "fetch-mock": "npm:@gr2m/fetch-mock@9.11.0-pull-request-644.1", - "glob": "^10.2.6", - "jest": "^29.0.0", - "prettier": "3.0.3", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^29.0.0", - "typescript": "^5.0.0" - }, - "engines": { - "node": ">= 18" - }, - "files": [ - "dist-*/**", - "bin/**" - ], - "main": "dist-node/index.js", - "module": "dist-web/index.js", - "types": "dist-types/index.d.ts", - "source": "dist-src/index.js", - "sideEffects": false -} diff --git a/node_modules/@octokit/openapi-types/LICENSE b/node_modules/@octokit/openapi-types/LICENSE deleted file mode 100644 index c61fbbe..0000000 --- a/node_modules/@octokit/openapi-types/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 2020 Gregor Martynus - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/node_modules/@octokit/openapi-types/README.md b/node_modules/@octokit/openapi-types/README.md deleted file mode 100644 index 9da833c..0000000 --- a/node_modules/@octokit/openapi-types/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# @octokit/openapi-types - -> Generated TypeScript definitions based on GitHub's OpenAPI spec - -This package is continously updated based on [GitHub's OpenAPI specification](https://github.com/github/rest-api-description/) - -## Usage - -```ts -import { components } from "@octokit/openapi-types"; - -type Repository = components["schemas"]["full-repository"]; -``` - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/openapi-types/package.json deleted file mode 100644 index 5ad4d77..0000000 --- a/node_modules/@octokit/openapi-types/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@octokit/openapi-types", - "description": "Generated TypeScript definitions based on GitHub's OpenAPI spec for api.github.com", - "repository": { - "type": "git", - "url": "https://github.com/octokit/openapi-types.ts.git", - "directory": "packages/openapi-types" - }, - "publishConfig": { - "access": "public" - }, - "version": "19.0.0", - "main": "", - "types": "types.d.ts", - "author": "Gregor Martynus (https://twitter.com/gr2m)", - "license": "MIT", - "octokit": { - "openapi-version": "13.0.0" - } -} diff --git a/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/openapi-types/types.d.ts deleted file mode 100644 index c7bb47f..0000000 --- a/node_modules/@octokit/openapi-types/types.d.ts +++ /dev/null @@ -1,115824 +0,0 @@ -/** - * This file was auto-generated by openapi-typescript. - * Do not make direct changes to the file. - */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = T | U extends object - ? (Without & U) | (Without & T) - : T | U; -type OneOf = T extends [infer Only] - ? Only - : T extends [infer A, infer B, ...infer Rest] - ? OneOf<[XOR, ...Rest]> - : never; - -export interface paths { - "/": { - /** - * GitHub API Root - * @description Get Hypermedia links to resources accessible in GitHub's REST API - */ - get: operations["meta/root"]; - }; - "/advisories": { - /** - * List global security advisories - * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. - * - * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." - */ - get: operations["security-advisories/list-global-advisories"]; - }; - "/advisories/{ghsa_id}": { - /** - * Get a global security advisory - * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. - */ - get: operations["security-advisories/get-global-advisory"]; - }; - "/app": { - /** - * Get the authenticated app - * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-authenticated"]; - }; - "/app-manifests/{code}/conversions": { - /** - * Create a GitHub App from a manifest - * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. - */ - post: operations["apps/create-from-manifest"]; - }; - "/app/hook/config": { - /** - * Get a webhook configuration for an app - * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-webhook-config-for-app"]; - /** - * Update a webhook configuration for an app - * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - patch: operations["apps/update-webhook-config-for-app"]; - }; - "/app/hook/deliveries": { - /** - * List deliveries for an app webhook - * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/list-webhook-deliveries"]; - }; - "/app/hook/deliveries/{delivery_id}": { - /** - * Get a delivery for an app webhook - * @description Returns a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-webhook-delivery"]; - }; - "/app/hook/deliveries/{delivery_id}/attempts": { - /** - * Redeliver a delivery for an app webhook - * @description Redeliver a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - post: operations["apps/redeliver-webhook-delivery"]; - }; - "/app/installation-requests": { - /** - * List installation requests for the authenticated app - * @description Lists all the pending installation requests for the authenticated GitHub App. - */ - get: operations["apps/list-installation-requests-for-authenticated-app"]; - }; - "/app/installations": { - /** - * List installations for the authenticated app - * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. - */ - get: operations["apps/list-installations"]; - }; - "/app/installations/{installation_id}": { - /** - * Get an installation for the authenticated app - * @description Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-installation"]; - /** - * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - delete: operations["apps/delete-installation"]; - }; - "/app/installations/{installation_id}/access_tokens": { - /** - * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - post: operations["apps/create-installation-access-token"]; - }; - "/app/installations/{installation_id}/suspended": { - /** - * Suspend an app installation - * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - put: operations["apps/suspend-installation"]; - /** - * Unsuspend an app installation - * @description Removes a GitHub App installation suspension. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - delete: operations["apps/unsuspend-installation"]; - }; - "/applications/{client_id}/grant": { - /** - * Delete an app authorization - * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - delete: operations["apps/delete-authorization"]; - }; - "/applications/{client_id}/token": { - /** - * Check a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/check-token"]; - /** - * Delete an app token - * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. - */ - delete: operations["apps/delete-token"]; - /** - * Reset a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - patch: operations["apps/reset-token"]; - }; - "/applications/{client_id}/token/scoped": { - /** - * Create a scoped access token - * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/scope-token"]; - }; - "/apps/{app_slug}": { - /** - * Get an app - * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - get: operations["apps/get-by-slug"]; - }; - "/assignments/{assignment_id}": { - /** - * Get an assignment - * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/get-an-assignment"]; - }; - "/assignments/{assignment_id}/accepted_assignments": { - /** - * List accepted assignments for an assignment - * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/list-accepted-assigments-for-an-assignment"]; - }; - "/assignments/{assignment_id}/grades": { - /** - * Get assignment grades - * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/get-assignment-grades"]; - }; - "/classrooms": { - /** - * List classrooms - * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. - */ - get: operations["classroom/list-classrooms"]; - }; - "/classrooms/{classroom_id}": { - /** - * Get a classroom - * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. - */ - get: operations["classroom/get-a-classroom"]; - }; - "/classrooms/{classroom_id}/assignments": { - /** - * List assignments for a classroom - * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. - */ - get: operations["classroom/list-assignments-for-a-classroom"]; - }; - "/codes_of_conduct": { - /** - * Get all codes of conduct - * @description Returns array of all GitHub's codes of conduct. - */ - get: operations["codes-of-conduct/get-all-codes-of-conduct"]; - }; - "/codes_of_conduct/{key}": { - /** - * Get a code of conduct - * @description Returns information about the specified GitHub code of conduct. - */ - get: operations["codes-of-conduct/get-conduct-code"]; - }; - "/emojis": { - /** - * Get emojis - * @description Lists all the emojis available to use on GitHub. - */ - get: operations["emojis/get"]; - }; - "/enterprises/{enterprise}/dependabot/alerts": { - /** - * List Dependabot alerts for an enterprise - * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. - * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: operations["dependabot/list-alerts-for-enterprise"]; - }; - "/enterprises/{enterprise}/secret-scanning/alerts": { - /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). - */ - get: operations["secret-scanning/list-alerts-for-enterprise"]; - }; - "/events": { - /** - * List public events - * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. - */ - get: operations["activity/list-public-events"]; - }; - "/feeds": { - /** - * Get feeds - * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: - * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) - * * **Current user public**: The public timeline for the authenticated user - * * **Current user**: The private timeline for the authenticated user - * * **Current user actor**: The private timeline for activity created by the authenticated user - * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. - * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. - * - * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. - */ - get: operations["activity/get-feeds"]; - }; - "/gists": { - /** - * List gists for the authenticated user - * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: - */ - get: operations["gists/list"]; - /** - * Create a gist - * @description Allows you to add a new gist with one or more files. - * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. - */ - post: operations["gists/create"]; - }; - "/gists/public": { - /** - * List public gists - * @description List public gists sorted by most recently updated to least recently updated. - * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. - */ - get: operations["gists/list-public"]; - }; - "/gists/starred": { - /** - * List starred gists - * @description List the authenticated user's starred gists: - */ - get: operations["gists/list-starred"]; - }; - "/gists/{gist_id}": { - /** Get a gist */ - get: operations["gists/get"]; - /** Delete a gist */ - delete: operations["gists/delete"]; - /** - * Update a gist - * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. - */ - patch: operations["gists/update"]; - }; - "/gists/{gist_id}/comments": { - /** List gist comments */ - get: operations["gists/list-comments"]; - /** Create a gist comment */ - post: operations["gists/create-comment"]; - }; - "/gists/{gist_id}/comments/{comment_id}": { - /** Get a gist comment */ - get: operations["gists/get-comment"]; - /** Delete a gist comment */ - delete: operations["gists/delete-comment"]; - /** Update a gist comment */ - patch: operations["gists/update-comment"]; - }; - "/gists/{gist_id}/commits": { - /** List gist commits */ - get: operations["gists/list-commits"]; - }; - "/gists/{gist_id}/forks": { - /** List gist forks */ - get: operations["gists/list-forks"]; - /** Fork a gist */ - post: operations["gists/fork"]; - }; - "/gists/{gist_id}/star": { - /** Check if a gist is starred */ - get: operations["gists/check-is-starred"]; - /** - * Star a gist - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["gists/star"]; - /** Unstar a gist */ - delete: operations["gists/unstar"]; - }; - "/gists/{gist_id}/{sha}": { - /** Get a gist revision */ - get: operations["gists/get-revision"]; - }; - "/gitignore/templates": { - /** - * Get all gitignore templates - * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). - */ - get: operations["gitignore/get-all-templates"]; - }; - "/gitignore/templates/{name}": { - /** - * Get a gitignore template - * @description The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. - */ - get: operations["gitignore/get-template"]; - }; - "/installation/repositories": { - /** - * List repositories accessible to the app installation - * @description List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - get: operations["apps/list-repos-accessible-to-installation"]; - }; - "/installation/token": { - /** - * Revoke an installation access token - * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. - * - * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - delete: operations["apps/revoke-installation-access-token"]; - }; - "/issues": { - /** - * List issues assigned to the authenticated user - * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member - * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not - * necessarily assigned to you. - * - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list"]; - }; - "/licenses": { - /** - * Get all commonly used licenses - * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - get: operations["licenses/get-all-commonly-used"]; - }; - "/licenses/{license}": { - /** - * Get a license - * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - get: operations["licenses/get"]; - }; - "/markdown": { - /** Render a Markdown document */ - post: operations["markdown/render"]; - }; - "/markdown/raw": { - /** - * Render a Markdown document in raw mode - * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. - */ - post: operations["markdown/render-raw"]; - }; - "/marketplace_listing/accounts/{account_id}": { - /** - * Get a subscription plan for an account - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/get-subscription-plan-for-account"]; - }; - "/marketplace_listing/plans": { - /** - * List plans - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-plans"]; - }; - "/marketplace_listing/plans/{plan_id}/accounts": { - /** - * List accounts for a plan - * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-accounts-for-plan"]; - }; - "/marketplace_listing/stubbed/accounts/{account_id}": { - /** - * Get a subscription plan for an account (stubbed) - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/get-subscription-plan-for-account-stubbed"]; - }; - "/marketplace_listing/stubbed/plans": { - /** - * List plans (stubbed) - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-plans-stubbed"]; - }; - "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { - /** - * List accounts for a plan (stubbed) - * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-accounts-for-plan-stubbed"]; - }; - "/meta": { - /** - * Get GitHub meta information - * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." - * - * The API's response also includes a list of GitHub's domain names. - * - * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. - * - * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. - */ - get: operations["meta/get"]; - }; - "/networks/{owner}/{repo}/events": { - /** List public events for a network of repositories */ - get: operations["activity/list-public-events-for-repo-network"]; - }; - "/notifications": { - /** - * List notifications for the authenticated user - * @description List all notifications for the current user, sorted by most recently updated. - */ - get: operations["activity/list-notifications-for-authenticated-user"]; - /** - * Mark notifications as read - * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - put: operations["activity/mark-notifications-as-read"]; - }; - "/notifications/threads/{thread_id}": { - /** - * Get a thread - * @description Gets information about a notification thread. - */ - get: operations["activity/get-thread"]; - /** - * Mark a thread as read - * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. - */ - patch: operations["activity/mark-thread-as-read"]; - }; - "/notifications/threads/{thread_id}/subscription": { - /** - * Get a thread subscription for the authenticated user - * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). - * - * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. - */ - get: operations["activity/get-thread-subscription-for-authenticated-user"]; - /** - * Set a thread subscription - * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. - * - * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - * - * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. - */ - put: operations["activity/set-thread-subscription"]; - /** - * Delete a thread subscription - * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. - */ - delete: operations["activity/delete-thread-subscription"]; - }; - "/octocat": { - /** - * Get Octocat - * @description Get the octocat as ASCII art - */ - get: operations["meta/get-octocat"]; - }; - "/organizations": { - /** - * List organizations - * @description Lists all organizations, in the order that they were created on GitHub. - * - * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. - */ - get: operations["orgs/list"]; - }; - "/orgs/{org}": { - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." - */ - get: operations["orgs/get"]; - /** - * Delete an organization - * @description Deletes an organization and all its repositories. - * - * The organization login will be unavailable for 90 days after deletion. - * - * Please review the Terms of Service regarding account deletion before using this endpoint: - * - * https://docs.github.com/site-policy/github-terms/github-terms-of-service - */ - delete: operations["orgs/delete"]; - /** - * Update an organization - * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. - */ - patch: operations["orgs/update"]; - }; - "/orgs/{org}/actions/cache/usage": { - /** - * Get GitHub Actions cache usage for an organization - * @description Gets the total GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-for-org"]; - }; - "/orgs/{org}/actions/cache/usage-by-repository": { - /** - * List repositories with GitHub Actions cache usage for an organization - * @description Lists repositories and their GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; - }; - "/orgs/{org}/actions/oidc/customization/sub": { - /** - * Get the customization template for an OIDC subject claim for an organization - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - */ - get: operations["oidc/get-oidc-custom-sub-template-for-org"]; - /** - * Set the customization template for an OIDC subject claim for an organization - * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `write:org` scope to use this endpoint. - * GitHub Apps must have the `admin:org` permission to use this endpoint. - */ - put: operations["oidc/update-oidc-custom-sub-template-for-org"]; - }; - "/orgs/{org}/actions/permissions": { - /** - * Get GitHub Actions permissions for an organization - * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-github-actions-permissions-organization"]; - /** - * Set GitHub Actions permissions for an organization - * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-github-actions-permissions-organization"]; - }; - "/orgs/{org}/actions/permissions/repositories": { - /** - * List selected repositories enabled for GitHub Actions in an organization - * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; - /** - * Set selected repositories enabled for GitHub Actions in an organization - * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; - }; - "/orgs/{org}/actions/permissions/repositories/{repository_id}": { - /** - * Enable a selected repository for GitHub Actions in an organization - * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/enable-selected-repository-github-actions-organization"]; - /** - * Disable a selected repository for GitHub Actions in an organization - * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - delete: operations["actions/disable-selected-repository-github-actions-organization"]; - }; - "/orgs/{org}/actions/permissions/selected-actions": { - /** - * Get allowed actions and reusable workflows for an organization - * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-allowed-actions-organization"]; - /** - * Set allowed actions and reusable workflows for an organization - * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-allowed-actions-organization"]; - }; - "/orgs/{org}/actions/permissions/workflow": { - /** - * Get default workflow permissions for an organization - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, - * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; - /** - * Set default workflow permissions for an organization - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions - * can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; - }; - "/orgs/{org}/actions/runners": { - /** - * List self-hosted runners for an organization - * @description Lists all self-hosted runners configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-self-hosted-runners-for-org"]; - }; - "/orgs/{org}/actions/runners/downloads": { - /** - * List runner applications for an organization - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-runner-applications-for-org"]; - }; - "/orgs/{org}/actions/runners/generate-jitconfig": { - /** - * Create configuration for a just-in-time runner for an organization - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/generate-runner-jitconfig-for-org"]; - }; - "/orgs/{org}/actions/runners/registration-token": { - /** - * Create a registration token for an organization - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` - */ - post: operations["actions/create-registration-token-for-org"]; - }; - "/orgs/{org}/actions/runners/remove-token": { - /** - * Create a remove token for an organization - * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - */ - post: operations["actions/create-remove-token-for-org"]; - }; - "/orgs/{org}/actions/runners/{runner_id}": { - /** - * Get a self-hosted runner for an organization - * @description Gets a specific self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/get-self-hosted-runner-for-org"]; - /** - * Delete a self-hosted runner from an organization - * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/delete-self-hosted-runner-from-org"]; - }; - "/orgs/{org}/actions/runners/{runner_id}/labels": { - /** - * List labels for a self-hosted runner for an organization - * @description Lists all labels for a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; - /** - * Set custom labels for a self-hosted runner for an organization - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; - /** - * Add custom labels to a self-hosted runner for an organization - * @description Add custom labels to a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; - /** - * Remove all custom labels from a self-hosted runner for an organization - * @description Remove all custom labels from a self-hosted runner configured in an - * organization. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; - }; - "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { - /** - * Remove a custom label from a self-hosted runner for an organization - * @description Remove a custom label from a self-hosted runner configured - * in an organization. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; - }; - "/orgs/{org}/actions/secrets": { - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-org-secrets"]; - }; - "/orgs/{org}/actions/secrets/public-key": { - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-org-public-key"]; - }; - "/orgs/{org}/actions/secrets/{secret_name}": { - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to - * use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. - * - * ``` - * const sodium = require('tweetsodium'); - * - * const key = "base64-encoded-public-key"; - * const value = "plain-text-secret"; - * - * // Convert the message and key to Uint8Array's (Buffer implements that interface) - * const messageBytes = Buffer.from(value); - * const keyBytes = Buffer.from(key, 'base64'); - * - * // Encrypt using LibSodium. - * const encryptedBytes = sodium.seal(messageBytes, keyBytes); - * - * // Base64 the encrypted secret - * const encrypted = Buffer.from(encryptedBytes).toString('base64'); - * - * console.log(encrypted); - * ``` - * - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` - */ - put: operations["actions/create-or-update-org-secret"]; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/delete-org-secret"]; - }; - "/orgs/{org}/actions/secrets/{secret_name}/repositories": { - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` - * for repository access to a secret is set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/set-selected-repos-for-org-secret"]; - }; - "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for - * repository access is set to `selected`. The visibility is set when you [Create or - * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/add-selected-repo-to-org-secret"]; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/remove-selected-repo-from-org-secret"]; - }; - "/orgs/{org}/actions/variables": { - /** - * List organization variables - * @description Lists all organization variables. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-org-variables"]; - /** - * Create an organization variable - * @description Creates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - post: operations["actions/create-org-variable"]; - }; - "/orgs/{org}/actions/variables/{name}": { - /** - * Get an organization variable - * @description Gets a specific variable in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/get-org-variable"]; - /** - * Delete an organization variable - * @description Deletes an organization variable using the variable name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/delete-org-variable"]; - /** - * Update an organization variable - * @description Updates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - patch: operations["actions/update-org-variable"]; - }; - "/orgs/{org}/actions/variables/{name}/repositories": { - /** - * List selected repositories for an organization variable - * @description Lists all repositories that can access an organization variable - * that is available to selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-selected-repos-for-org-variable"]; - /** - * Set selected repositories for an organization variable - * @description Replaces all repositories for an organization variable that is available - * to selected repositories. Organization variables that are available to selected - * repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this - * endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - put: operations["actions/set-selected-repos-for-org-variable"]; - }; - "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization variable - * @description Adds a repository to an organization variable that is available to selected repositories. - * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - put: operations["actions/add-selected-repo-to-org-variable"]; - /** - * Remove selected repository from an organization variable - * @description Removes a repository from an organization variable that is - * available to selected repositories. Organization variables that are available to - * selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/remove-selected-repo-from-org-variable"]; - }; - "/orgs/{org}/blocks": { - /** - * List users blocked by an organization - * @description List the users blocked by an organization. - */ - get: operations["orgs/list-blocked-users"]; - }; - "/orgs/{org}/blocks/{username}": { - /** - * Check if a user is blocked by an organization - * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. - */ - get: operations["orgs/check-blocked-user"]; - /** - * Block a user from an organization - * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. - */ - put: operations["orgs/block-user"]; - /** - * Unblock a user from an organization - * @description Unblocks the given user on behalf of the specified organization. - */ - delete: operations["orgs/unblock-user"]; - }; - "/orgs/{org}/code-scanning/alerts": { - /** - * List code scanning alerts for an organization - * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/list-alerts-for-org"]; - }; - "/orgs/{org}/codespaces": { - /** - * List codespaces for the organization - * @description Lists the codespaces associated to a specified organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-in-organization"]; - }; - "/orgs/{org}/codespaces/access": { - /** - * Manage access control for organization codespaces - * @deprecated - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/set-codespaces-access"]; - }; - "/orgs/{org}/codespaces/access/selected_users": { - /** - * Add users to Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - post: operations["codespaces/set-codespaces-access-users"]; - /** - * Remove users from Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will no longer be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-codespaces-access-users"]; - }; - "/orgs/{org}/codespaces/secrets": { - /** - * List organization secrets - * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-org-secrets"]; - }; - "/orgs/{org}/codespaces/secrets/public-key": { - /** - * Get an organization public key - * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-org-public-key"]; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}": { - /** - * Get an organization secret - * @description Gets an organization secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/create-or-update-org-secret"]; - /** - * Delete an organization secret - * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-org-secret"]; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/set-selected-repos-for-org-secret"]; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/add-selected-repo-to-org-secret"]; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/remove-selected-repo-from-org-secret"]; - }; - "/orgs/{org}/copilot/billing": { - /** - * Get Copilot for Business seat information and settings for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets information about an organization's Copilot for Business subscription, including seat breakdown - * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. - * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - get: operations["copilot/get-copilot-organization-details"]; - }; - "/orgs/{org}/copilot/billing/seats": { - /** - * List all Copilot for Business seat assignments for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - get: operations["copilot/list-copilot-seats"]; - }; - "/orgs/{org}/copilot/billing/selected_teams": { - /** - * Add teams to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for all users within each specified team. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - post: operations["copilot/add-copilot-for-business-seats-for-teams"]; - /** - * Remove teams from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for all members of each team specified. - * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; - }; - "/orgs/{org}/copilot/billing/selected_users": { - /** - * Add users to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for each user specified. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - post: operations["copilot/add-copilot-for-business-seats-for-users"]; - /** - * Remove users from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for each user specified. - * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)" - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; - }; - "/orgs/{org}/dependabot/alerts": { - /** - * List Dependabot alerts for an organization - * @description Lists Dependabot alerts for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - get: operations["dependabot/list-alerts-for-org"]; - }; - "/orgs/{org}/dependabot/secrets": { - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/list-org-secrets"]; - }; - "/orgs/{org}/dependabot/secrets/public-key": { - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/get-org-public-key"]; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}": { - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization - * permission to use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. - * - * ``` - * const sodium = require('tweetsodium'); - * - * const key = "base64-encoded-public-key"; - * const value = "plain-text-secret"; - * - * // Convert the message and key to Uint8Array's (Buffer implements that interface) - * const messageBytes = Buffer.from(value); - * const keyBytes = Buffer.from(key, 'base64'); - * - * // Encrypt using LibSodium. - * const encryptedBytes = sodium.seal(messageBytes, keyBytes); - * - * // Base64 the encrypted secret - * const encrypted = Buffer.from(encryptedBytes).toString('base64'); - * - * console.log(encrypted); - * ``` - * - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` - */ - put: operations["dependabot/create-or-update-org-secret"]; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - delete: operations["dependabot/delete-org-secret"]; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - put: operations["dependabot/set-selected-repos-for-org-secret"]; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - put: operations["dependabot/add-selected-repo-to-org-secret"]; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - delete: operations["dependabot/remove-selected-repo-from-org-secret"]; - }; - "/orgs/{org}/docker/conflicts": { - /** - * Get list of conflicting packages during Docker migration for organization - * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; - }; - "/orgs/{org}/events": { - /** List public organization events */ - get: operations["activity/list-public-org-events"]; - }; - "/orgs/{org}/failed_invitations": { - /** - * List failed organization invitations - * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. - */ - get: operations["orgs/list-failed-invitations"]; - }; - "/orgs/{org}/hooks": { - /** List organization webhooks */ - get: operations["orgs/list-webhooks"]; - /** - * Create an organization webhook - * @description Here's how you can create a hook that posts payloads in JSON format: - */ - post: operations["orgs/create-webhook"]; - }; - "/orgs/{org}/hooks/{hook_id}": { - /** - * Get an organization webhook - * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." - */ - get: operations["orgs/get-webhook"]; - /** Delete an organization webhook */ - delete: operations["orgs/delete-webhook"]; - /** - * Update an organization webhook - * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." - */ - patch: operations["orgs/update-webhook"]; - }; - "/orgs/{org}/hooks/{hook_id}/config": { - /** - * Get a webhook configuration for an organization - * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. - */ - get: operations["orgs/get-webhook-config-for-org"]; - /** - * Update a webhook configuration for an organization - * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. - */ - patch: operations["orgs/update-webhook-config-for-org"]; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries": { - /** - * List deliveries for an organization webhook - * @description Returns a list of webhook deliveries for a webhook configured in an organization. - */ - get: operations["orgs/list-webhook-deliveries"]; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { - /** - * Get a webhook delivery for an organization webhook - * @description Returns a delivery for a webhook configured in an organization. - */ - get: operations["orgs/get-webhook-delivery"]; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - /** - * Redeliver a delivery for an organization webhook - * @description Redeliver a delivery for a webhook configured in an organization. - */ - post: operations["orgs/redeliver-webhook-delivery"]; - }; - "/orgs/{org}/hooks/{hook_id}/pings": { - /** - * Ping an organization webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - post: operations["orgs/ping-webhook"]; - }; - "/orgs/{org}/installation": { - /** - * Get an organization installation for the authenticated app - * @description Enables an authenticated GitHub App to find the organization's installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-org-installation"]; - }; - "/orgs/{org}/installations": { - /** - * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. - */ - get: operations["orgs/list-app-installations"]; - }; - "/orgs/{org}/interaction-limits": { - /** - * Get interaction restrictions for an organization - * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. - */ - get: operations["interactions/get-restrictions-for-org"]; - /** - * Set interaction restrictions for an organization - * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. - */ - put: operations["interactions/set-restrictions-for-org"]; - /** - * Remove interaction restrictions for an organization - * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. - */ - delete: operations["interactions/remove-restrictions-for-org"]; - }; - "/orgs/{org}/invitations": { - /** - * List pending organization invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - get: operations["orgs/list-pending-invitations"]; - /** - * Create an organization invitation - * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["orgs/create-invitation"]; - }; - "/orgs/{org}/invitations/{invitation_id}": { - /** - * Cancel an organization invitation - * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - */ - delete: operations["orgs/cancel-invitation"]; - }; - "/orgs/{org}/invitations/{invitation_id}/teams": { - /** - * List organization invitation teams - * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. - */ - get: operations["orgs/list-invitation-teams"]; - }; - "/orgs/{org}/issues": { - /** - * List organization issues assigned to the authenticated user - * @description List issues in an organization assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list-for-org"]; - }; - "/orgs/{org}/members": { - /** - * List organization members - * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. - */ - get: operations["orgs/list-members"]; - }; - "/orgs/{org}/members/{username}": { - /** - * Check organization membership for a user - * @description Check if a user is, publicly or privately, a member of the organization. - */ - get: operations["orgs/check-membership-for-user"]; - /** - * Remove an organization member - * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. - */ - delete: operations["orgs/remove-member"]; - }; - "/orgs/{org}/members/{username}/codespaces": { - /** - * List codespaces for a user in organization - * @description Lists the codespaces that a member of an organization has for repositories in that organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-codespaces-for-user-in-org"]; - }; - "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { - /** - * Delete a codespace from the organization - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-from-organization"]; - }; - "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { - /** - * Stop a codespace for an organization user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - post: operations["codespaces/stop-in-organization"]; - }; - "/orgs/{org}/members/{username}/copilot": { - /** - * Get Copilot for Business seat assignment details for a user - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot. - * - * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - get: operations["copilot/get-copilot-seat-assignment-details-for-user"]; - }; - "/orgs/{org}/memberships/{username}": { - /** - * Get organization membership for a user - * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. - */ - get: operations["orgs/get-membership-for-user"]; - /** - * Set organization membership for a user - * @description Only authenticated organization owners can add a member to the organization or update the member's role. - * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * - * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. - * - * **Rate limits** - * - * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. - */ - put: operations["orgs/set-membership-for-user"]; - /** - * Remove organization membership for a user - * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. - * - * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. - */ - delete: operations["orgs/remove-membership-for-user"]; - }; - "/orgs/{org}/migrations": { - /** - * List organization migrations - * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). - * - * A list of `repositories` is only returned for export migrations. - */ - get: operations["migrations/list-for-org"]; - /** - * Start an organization migration - * @description Initiates the generation of a migration archive. - */ - post: operations["migrations/start-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}": { - /** - * Get an organization migration status - * @description Fetches the status of a migration. - * - * The `state` of a migration can be one of the following values: - * - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - get: operations["migrations/get-status-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}/archive": { - /** - * Download an organization migration archive - * @description Fetches the URL to a migration archive. - */ - get: operations["migrations/download-archive-for-org"]; - /** - * Delete an organization migration archive - * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. - */ - delete: operations["migrations/delete-archive-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { - /** - * Unlock an organization repository - * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. - */ - delete: operations["migrations/unlock-repo-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}/repositories": { - /** - * List repositories in an organization migration - * @description List all the repositories for this organization migration. - */ - get: operations["migrations/list-repos-for-org"]; - }; - "/orgs/{org}/outside_collaborators": { - /** - * List outside collaborators for an organization - * @description List all users who are outside collaborators of an organization. - */ - get: operations["orgs/list-outside-collaborators"]; - }; - "/orgs/{org}/outside_collaborators/{username}": { - /** - * Convert an organization member to outside collaborator - * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - */ - put: operations["orgs/convert-member-to-outside-collaborator"]; - /** - * Remove outside collaborator from an organization - * @description Removing a user from this list will remove them from all the organization's repositories. - */ - delete: operations["orgs/remove-outside-collaborator"]; - }; - "/orgs/{org}/packages": { - /** - * List packages for an organization - * @description Lists packages in an organization readable by the user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-organization"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}": { - /** - * Get a package for an organization - * @description Gets a specific package in an organization. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-organization"]; - /** - * Delete a package for an organization - * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-for-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/restore": { - /** - * Restore a package for an organization - * @description Restores an entire package in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-for-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions": { - /** - * List package versions for a package owned by an organization - * @description Lists package versions for a package owned by an organization. - * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { - /** - * Get a package version for an organization - * @description Gets a specific package version in an organization. - * - * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-organization"]; - /** - * Delete package version for an organization - * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - /** - * Restore package version for an organization - * @description Restores a specific package version in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-org"]; - }; - "/orgs/{org}/personal-access-token-requests": { - /** - * List requests to access organization resources with fine-grained personal access tokens - * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-requests"]; - /** - * Review requests to access organization resources with fine-grained personal access tokens - * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/review-pat-grant-requests-in-bulk"]; - }; - "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { - /** - * Review a request to access organization resources with a fine-grained personal access token - * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/review-pat-grant-request"]; - }; - "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { - /** - * List repositories requested to be accessed by a fine-grained personal access token - * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-request-repositories"]; - }; - "/orgs/{org}/personal-access-tokens": { - /** - * List fine-grained personal access tokens with access to organization resources - * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grants"]; - /** - * Update the access to organization resources via fine-grained personal access tokens - * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/update-pat-accesses"]; - }; - "/orgs/{org}/personal-access-tokens/{pat_id}": { - /** - * Update the access a fine-grained personal access token has to organization resources - * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/update-pat-access"]; - }; - "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { - /** - * List repositories a fine-grained personal access token has access to - * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-repositories"]; - }; - "/orgs/{org}/projects": { - /** - * List organization projects - * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: operations["projects/list-for-org"]; - /** - * Create an organization project - * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - post: operations["projects/create-for-org"]; - }; - "/orgs/{org}/public_members": { - /** - * List public organization members - * @description Members of an organization can choose to have their membership publicized or not. - */ - get: operations["orgs/list-public-members"]; - }; - "/orgs/{org}/public_members/{username}": { - /** - * Check public organization membership for a user - * @description Check if the provided user is a public member of the organization. - */ - get: operations["orgs/check-public-membership-for-user"]; - /** - * Set public organization membership for the authenticated user - * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["orgs/set-public-membership-for-authenticated-user"]; - /** - * Remove public organization membership for the authenticated user - * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. - */ - delete: operations["orgs/remove-public-membership-for-authenticated-user"]; - }; - "/orgs/{org}/repos": { - /** - * List organization repositories - * @description Lists repositories for the specified organization. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: operations["repos/list-for-org"]; - /** - * Create an organization repository - * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - post: operations["repos/create-in-org"]; - }; - "/orgs/{org}/rulesets": { - /** - * Get all organization repository rulesets - * @description Get all the repository rulesets for an organization. - */ - get: operations["repos/get-org-rulesets"]; - /** - * Create an organization repository ruleset - * @description Create a repository ruleset for an organization. - */ - post: operations["repos/create-org-ruleset"]; - }; - "/orgs/{org}/rulesets/{ruleset_id}": { - /** - * Get an organization repository ruleset - * @description Get a repository ruleset for an organization. - */ - get: operations["repos/get-org-ruleset"]; - /** - * Update an organization repository ruleset - * @description Update a ruleset for an organization. - */ - put: operations["repos/update-org-ruleset"]; - /** - * Delete an organization repository ruleset - * @description Delete a ruleset for an organization. - */ - delete: operations["repos/delete-org-ruleset"]; - }; - "/orgs/{org}/secret-scanning/alerts": { - /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-alerts-for-org"]; - }; - "/orgs/{org}/security-advisories": { - /** - * List repository security advisories for an organization - * @description Lists repository security advisories for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. - */ - get: operations["security-advisories/list-org-repository-advisories"]; - }; - "/orgs/{org}/security-managers": { - /** - * List security manager teams - * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. - * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. - */ - get: operations["orgs/list-security-manager-teams"]; - }; - "/orgs/{org}/security-managers/teams/{team_slug}": { - /** - * Add a security manager team - * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - put: operations["orgs/add-security-manager-team"]; - /** - * Remove a security manager team - * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - delete: operations["orgs/remove-security-manager-team"]; - }; - "/orgs/{org}/settings/billing/actions": { - /** - * Get GitHub Actions billing for an organization - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - get: operations["billing/get-github-actions-billing-org"]; - }; - "/orgs/{org}/settings/billing/packages": { - /** - * Get GitHub Packages billing for an organization - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - get: operations["billing/get-github-packages-billing-org"]; - }; - "/orgs/{org}/settings/billing/shared-storage": { - /** - * Get shared storage billing for an organization - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - get: operations["billing/get-shared-storage-billing-org"]; - }; - "/orgs/{org}/teams": { - /** - * List teams - * @description Lists all teams in an organization that are visible to the authenticated user. - */ - get: operations["teams/list"]; - /** - * Create a team - * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - post: operations["teams/create"]; - }; - "/orgs/{org}/teams/{team_slug}": { - /** - * Get a team by name - * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. - */ - get: operations["teams/get-by-name"]; - /** - * Delete a team - * @description To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. - */ - delete: operations["teams/delete-in-org"]; - /** - * Update a team - * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. - */ - patch: operations["teams/update-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions": { - /** - * List discussions - * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. - */ - get: operations["teams/list-discussions-in-org"]; - /** - * Create a discussion - * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. - */ - post: operations["teams/create-discussion-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { - /** - * Get a discussion - * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - get: operations["teams/get-discussion-in-org"]; - /** - * Delete a discussion - * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - delete: operations["teams/delete-discussion-in-org"]; - /** - * Update a discussion - * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - patch: operations["teams/update-discussion-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { - /** - * List discussion comments - * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - get: operations["teams/list-discussion-comments-in-org"]; - /** - * Create a discussion comment - * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - post: operations["teams/create-discussion-comment-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { - /** - * Get a discussion comment - * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - get: operations["teams/get-discussion-comment-in-org"]; - /** - * Delete a discussion comment - * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - delete: operations["teams/delete-discussion-comment-in-org"]; - /** - * Update a discussion comment - * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - patch: operations["teams/update-discussion-comment-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - /** - * List reactions for a team discussion comment - * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - get: operations["reactions/list-for-team-discussion-comment-in-org"]; - /** - * Create reaction for a team discussion comment - * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - post: operations["reactions/create-for-team-discussion-comment-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { - /** - * Delete team discussion comment reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["reactions/delete-for-team-discussion-comment"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { - /** - * List reactions for a team discussion - * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - get: operations["reactions/list-for-team-discussion-in-org"]; - /** - * Create reaction for a team discussion - * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - post: operations["reactions/create-for-team-discussion-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { - /** - * Delete team discussion reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["reactions/delete-for-team-discussion"]; - }; - "/orgs/{org}/teams/{team_slug}/invitations": { - /** - * List pending team invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. - */ - get: operations["teams/list-pending-invitations-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/members": { - /** - * List team members - * @description Team members will include the members of child teams. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - get: operations["teams/list-members-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/memberships/{username}": { - /** - * Get team membership for a user - * @description Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - get: operations["teams/get-membership-for-user-in-org"]; - /** - * Add or update team membership for a user - * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - put: operations["teams/add-or-update-membership-for-user-in-org"]; - /** - * Remove team membership for a user - * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - delete: operations["teams/remove-membership-for-user-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/projects": { - /** - * List team projects - * @description Lists the organization projects for a team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. - */ - get: operations["teams/list-projects-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { - /** - * Check team permissions for a project - * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - get: operations["teams/check-permissions-for-project-in-org"]; - /** - * Add or update team project permissions - * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - put: operations["teams/add-or-update-project-permissions-in-org"]; - /** - * Remove a project from a team - * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - delete: operations["teams/remove-project-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/repos": { - /** - * List team repositories - * @description Lists a team's repositories visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. - */ - get: operations["teams/list-repos-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { - /** - * Check team permissions for a repository - * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. - * - * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - get: operations["teams/check-permissions-for-repo-in-org"]; - /** - * Add or update team repository permissions - * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". - */ - put: operations["teams/add-or-update-repo-permissions-in-org"]; - /** - * Remove a repository from a team - * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - delete: operations["teams/remove-repo-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/teams": { - /** - * List child teams - * @description Lists the child teams of the team specified by `{team_slug}`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. - */ - get: operations["teams/list-child-in-org"]; - }; - "/orgs/{org}/{security_product}/{enablement}": { - /** - * Enable or disable a security feature for an organization - * @description Enables or disables the specified security feature for all eligible repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. - * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; - }; - "/projects/columns/cards/{card_id}": { - /** - * Get a project card - * @description Gets information about a project card. - */ - get: operations["projects/get-card"]; - /** - * Delete a project card - * @description Deletes a project card - */ - delete: operations["projects/delete-card"]; - /** Update an existing project card */ - patch: operations["projects/update-card"]; - }; - "/projects/columns/cards/{card_id}/moves": { - /** Move a project card */ - post: operations["projects/move-card"]; - }; - "/projects/columns/{column_id}": { - /** - * Get a project column - * @description Gets information about a project column. - */ - get: operations["projects/get-column"]; - /** - * Delete a project column - * @description Deletes a project column. - */ - delete: operations["projects/delete-column"]; - /** Update an existing project column */ - patch: operations["projects/update-column"]; - }; - "/projects/columns/{column_id}/cards": { - /** - * List project cards - * @description Lists the project cards in a project. - */ - get: operations["projects/list-cards"]; - /** Create a project card */ - post: operations["projects/create-card"]; - }; - "/projects/columns/{column_id}/moves": { - /** Move a project column */ - post: operations["projects/move-column"]; - }; - "/projects/{project_id}": { - /** - * Get a project - * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: operations["projects/get"]; - /** - * Delete a project - * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. - */ - delete: operations["projects/delete"]; - /** - * Update a project - * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - patch: operations["projects/update"]; - }; - "/projects/{project_id}/collaborators": { - /** - * List project collaborators - * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. - */ - get: operations["projects/list-collaborators"]; - }; - "/projects/{project_id}/collaborators/{username}": { - /** - * Add project collaborator - * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. - */ - put: operations["projects/add-collaborator"]; - /** - * Remove user as a collaborator - * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. - */ - delete: operations["projects/remove-collaborator"]; - }; - "/projects/{project_id}/collaborators/{username}/permission": { - /** - * Get project permission for a user - * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. - */ - get: operations["projects/get-permission-for-user"]; - }; - "/projects/{project_id}/columns": { - /** - * List project columns - * @description Lists the project columns in a project. - */ - get: operations["projects/list-columns"]; - /** - * Create a project column - * @description Creates a new project column. - */ - post: operations["projects/create-column"]; - }; - "/rate_limit": { - /** - * Get rate limit status for the authenticated user - * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. - * - * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: - * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. - * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search)." - * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." - * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." - * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." - * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." - * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." - * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." - * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. - */ - get: operations["rate-limit/get"]; - }; - "/repos/{owner}/{repo}": { - /** - * Get a repository - * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: operations["repos/get"]; - /** - * Delete a repository - * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. - */ - delete: operations["repos/delete"]; - /** - * Update a repository - * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. - */ - patch: operations["repos/update"]; - }; - "/repos/{owner}/{repo}/actions/artifacts": { - /** - * List artifacts for a repository - * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-artifacts-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { - /** - * Get an artifact - * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-artifact"]; - /** - * Delete an artifact - * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-artifact"]; - }; - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { - /** - * Download an artifact - * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in - * the response header to find the URL for the download. The `:archive_format` must be `zip`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-artifact"]; - }; - "/repos/{owner}/{repo}/actions/cache/usage": { - /** - * Get GitHub Actions cache usage for a repository - * @description Gets GitHub Actions cache usage for a repository. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage"]; - }; - "/repos/{owner}/{repo}/actions/caches": { - /** - * List GitHub Actions caches for a repository - * @description Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-list"]; - /** - * Delete GitHub Actions caches for a repository (using a cache key) - * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-actions-cache-by-key"]; - }; - "/repos/{owner}/{repo}/actions/caches/{cache_id}": { - /** - * Delete a GitHub Actions cache for a repository (using a cache ID) - * @description Deletes a GitHub Actions cache for a repository, using a cache ID. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-actions-cache-by-id"]; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}": { - /** - * Get a job for a workflow run - * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-job-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { - /** - * Download job logs for a workflow run - * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-job-logs-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { - /** - * Re-run a job from a workflow run - * @description Re-run a job and its dependent jobs in a workflow run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/re-run-job-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/oidc/customization/sub": { - /** - * Get the customization template for an OIDC subject claim for a repository - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. - */ - get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; - /** - * Set the customization template for an OIDC subject claim for a repository - * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/organization-secrets": { - /** - * List repository organization secrets - * @description Lists all organization secrets shared with a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-repo-organization-secrets"]; - }; - "/repos/{owner}/{repo}/actions/organization-variables": { - /** - * List repository organization variables - * @description Lists all organiation variables shared with a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-repo-organization-variables"]; - }; - "/repos/{owner}/{repo}/actions/permissions": { - /** - * Get GitHub Actions permissions for a repository - * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - get: operations["actions/get-github-actions-permissions-repository"]; - /** - * Set GitHub Actions permissions for a repository - * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - put: operations["actions/set-github-actions-permissions-repository"]; - }; - "/repos/{owner}/{repo}/actions/permissions/access": { - /** - * Get the level of access for workflows outside of the repository - * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - get: operations["actions/get-workflow-access-to-repository"]; - /** - * Set the level of access for workflows outside of the repository - * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - put: operations["actions/set-workflow-access-to-repository"]; - }; - "/repos/{owner}/{repo}/actions/permissions/selected-actions": { - /** - * Get allowed actions and reusable workflows for a repository - * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - get: operations["actions/get-allowed-actions-repository"]; - /** - * Set allowed actions and reusable workflows for a repository - * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - put: operations["actions/set-allowed-actions-repository"]; - }; - "/repos/{owner}/{repo}/actions/permissions/workflow": { - /** - * Get default workflow permissions for a repository - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, - * as well as if GitHub Actions can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; - /** - * Set default workflow permissions for a repository - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions - * can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; - }; - "/repos/{owner}/{repo}/actions/runners": { - /** - * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-self-hosted-runners-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/downloads": { - /** - * List runner applications for a repository - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-runner-applications-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { - /** - * Create configuration for a just-in-time runner for a repository - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/generate-runner-jitconfig-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/registration-token": { - /** - * Create a registration token for a repository - * @description Returns a token that you can pass to the `config` script. The token - * expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided - * by this endpoint. - * - * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` - */ - post: operations["actions/create-registration-token-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/remove-token": { - /** - * Create a remove token for a repository - * @description Returns a token that you can pass to remove a self-hosted runner from - * a repository. The token expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from a repository, replace TOKEN with - * the remove token provided by this endpoint. - * - * ```config.sh remove --token TOKEN``` - */ - post: operations["actions/create-remove-token-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}": { - /** - * Get a self-hosted runner for a repository - * @description Gets a specific self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/get-self-hosted-runner-for-repo"]; - /** - * Delete a self-hosted runner from a repository - * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/delete-self-hosted-runner-from-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { - /** - * List labels for a self-hosted runner for a repository - * @description Lists all labels for a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; - /** - * Set custom labels for a self-hosted runner for a repository - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; - /** - * Add custom labels to a self-hosted runner for a repository - * @description Add custom labels to a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; - /** - * Remove all custom labels from a self-hosted runner for a repository - * @description Remove all custom labels from a self-hosted runner configured in a - * repository. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { - /** - * Remove a custom label from a self-hosted runner for a repository - * @description Remove a custom label from a self-hosted runner configured - * in a repository. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runs": { - /** - * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-workflow-runs-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}": { - /** - * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-run"]; - /** - * Delete a workflow run - * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. - */ - delete: operations["actions/delete-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { - /** - * Get the review history for a workflow run - * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-reviews-for-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { - /** - * Approve a workflow run for a fork pull request - * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/approve-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { - /** - * List workflow run artifacts - * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-workflow-run-artifacts"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { - /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. - */ - get: operations["actions/get-workflow-run-attempt"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { - /** - * List jobs for a workflow run attempt - * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - get: operations["actions/list-jobs-for-workflow-run-attempt"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { - /** - * Download workflow run attempt logs - * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-workflow-run-attempt-logs"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { - /** - * Cancel a workflow run - * @description Cancels a workflow run using its `id`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/cancel-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { - /** - * Review custom deployment protection rules for a workflow run - * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * **Note:** GitHub Apps can only review their own custom deployment protection rules. - * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). - * - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. - */ - post: operations["actions/review-custom-gates-for-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { - /** - * List jobs for a workflow run - * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - get: operations["actions/list-jobs-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { - /** - * Download workflow run logs - * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-workflow-run-logs"]; - /** - * Delete workflow run logs - * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-workflow-run-logs"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { - /** - * Get pending deployments for a workflow run - * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-pending-deployments-for-run"]; - /** - * Review pending deployments for a workflow run - * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. - * - * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. - */ - post: operations["actions/review-pending-deployments-for-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { - /** - * Re-run a workflow - * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/re-run-workflow"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { - /** - * Re-run failed jobs from a workflow run - * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. - */ - post: operations["actions/re-run-workflow-failed-jobs"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { - /** - * Get workflow run usage - * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-run-usage"]; - }; - "/repos/{owner}/{repo}/actions/secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-repo-secrets"]; - }; - "/repos/{owner}/{repo}/actions/secrets/public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-repo-public-key"]; - }; - "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/create-or-update-repo-secret"]; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/delete-repo-secret"]; - }; - "/repos/{owner}/{repo}/actions/variables": { - /** - * List repository variables - * @description Lists all repository variables. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-repo-variables"]; - /** - * Create a repository variable - * @description Creates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - post: operations["actions/create-repo-variable"]; - }; - "/repos/{owner}/{repo}/actions/variables/{name}": { - /** - * Get a repository variable - * @description Gets a specific variable in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/get-repo-variable"]; - /** - * Delete a repository variable - * @description Deletes a repository variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/delete-repo-variable"]; - /** - * Update a repository variable - * @description Updates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - patch: operations["actions/update-repo-variable"]; - }; - "/repos/{owner}/{repo}/actions/workflows": { - /** - * List repository workflows - * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-repo-workflows"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { - /** - * Get a workflow - * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { - /** - * Disable a workflow - * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/disable-workflow"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { - /** - * Create a workflow dispatch event - * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." - */ - post: operations["actions/create-workflow-dispatch"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { - /** - * Enable a workflow - * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/enable-workflow"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { - /** - * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - */ - get: operations["actions/list-workflow-runs"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { - /** - * Get workflow usage - * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-usage"]; - }; - "/repos/{owner}/{repo}/activity": { - /** - * List repository activities - * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. - * - * For more information about viewing repository activity, - * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." - */ - get: operations["repos/list-activities"]; - }; - "/repos/{owner}/{repo}/assignees": { - /** - * List assignees - * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. - */ - get: operations["issues/list-assignees"]; - }; - "/repos/{owner}/{repo}/assignees/{assignee}": { - /** - * Check if a user can be assigned - * @description Checks if a user has permission to be assigned to an issue in this repository. - * - * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - get: operations["issues/check-user-can-be-assigned"]; - }; - "/repos/{owner}/{repo}/autolinks": { - /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - get: operations["repos/list-autolinks"]; - /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. - */ - post: operations["repos/create-autolink"]; - }; - "/repos/{owner}/{repo}/autolinks/{autolink_id}": { - /** - * Get an autolink reference of a repository - * @description This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - get: operations["repos/get-autolink"]; - /** - * Delete an autolink reference from a repository - * @description This deletes a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - delete: operations["repos/delete-autolink"]; - }; - "/repos/{owner}/{repo}/automated-security-fixes": { - /** - * Check if automated security fixes are enabled for a repository - * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - get: operations["repos/check-automated-security-fixes"]; - /** - * Enable automated security fixes - * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - put: operations["repos/enable-automated-security-fixes"]; - /** - * Disable automated security fixes - * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - delete: operations["repos/disable-automated-security-fixes"]; - }; - "/repos/{owner}/{repo}/branches": { - /** List branches */ - get: operations["repos/list-branches"]; - }; - "/repos/{owner}/{repo}/branches/{branch}": { - /** Get a branch */ - get: operations["repos/get-branch"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection": { - /** - * Get branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-branch-protection"]; - /** - * Update branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Protecting a branch requires admin or owner permissions to the repository. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - * - * **Note**: The list of users, apps, and teams in total is limited to 100 items. - */ - put: operations["repos/update-branch-protection"]; - /** - * Delete branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/delete-branch-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { - /** - * Get admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-admin-branch-protection"]; - /** - * Set admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - post: operations["repos/set-admin-branch-protection"]; - /** - * Delete admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - delete: operations["repos/delete-admin-branch-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { - /** - * Get pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-pull-request-review-protection"]; - /** - * Delete pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/delete-pull-request-review-protection"]; - /** - * Update pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - */ - patch: operations["repos/update-pull-request-review-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { - /** - * Get commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. - * - * **Note**: You must enable branch protection to require signed commits. - */ - get: operations["repos/get-commit-signature-protection"]; - /** - * Create commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. - */ - post: operations["repos/create-commit-signature-protection"]; - /** - * Delete commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. - */ - delete: operations["repos/delete-commit-signature-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { - /** - * Get status checks protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-status-checks-protection"]; - /** - * Remove status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/remove-status-check-protection"]; - /** - * Update status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - */ - patch: operations["repos/update-status-check-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { - /** - * Get all status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-all-status-check-contexts"]; - /** - * Set status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - put: operations["repos/set-status-check-contexts"]; - /** - * Add status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - post: operations["repos/add-status-check-contexts"]; - /** - * Remove status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/remove-status-check-contexts"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { - /** - * Get access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists who has access to this protected branch. - * - * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. - */ - get: operations["repos/get-access-restrictions"]; - /** - * Delete access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Disables the ability to restrict who can push to this branch. - */ - delete: operations["repos/delete-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { - /** - * Get apps with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - get: operations["repos/get-apps-with-access-to-protected-branch"]; - /** - * Set app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - put: operations["repos/set-app-access-restrictions"]; - /** - * Add app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - post: operations["repos/add-app-access-restrictions"]; - /** - * Remove app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - delete: operations["repos/remove-app-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { - /** - * Get teams with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the teams who have push access to this branch. The list includes child teams. - */ - get: operations["repos/get-teams-with-access-to-protected-branch"]; - /** - * Set team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. - */ - put: operations["repos/set-team-access-restrictions"]; - /** - * Add team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified teams push access for this branch. You can also give push access to child teams. - */ - post: operations["repos/add-team-access-restrictions"]; - /** - * Remove team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a team to push to this branch. You can also remove push access for child teams. - */ - delete: operations["repos/remove-team-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { - /** - * Get users with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the people who have push access to this branch. - */ - get: operations["repos/get-users-with-access-to-protected-branch"]; - /** - * Set user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - put: operations["repos/set-user-access-restrictions"]; - /** - * Add user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified people push access for this branch. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - post: operations["repos/add-user-access-restrictions"]; - /** - * Remove user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a user to push to this branch. - * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - delete: operations["repos/remove-user-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/rename": { - /** - * Rename a branch - * @description Renames a branch in a repository. - * - * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". - * - * The permissions required to use this endpoint depends on whether you are renaming the default branch. - * - * To rename a non-default branch: - * - * * Users must have push access. - * * GitHub Apps must have the `contents:write` repository permission. - * - * To rename the default branch: - * - * * Users must have admin or owner permissions. - * * GitHub Apps must have the `administration:write` repository permission. - */ - post: operations["repos/rename-branch"]; - }; - "/repos/{owner}/{repo}/check-runs": { - /** - * Create a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. - * - * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. - */ - post: operations["checks/create"]; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}": { - /** - * Get a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: operations["checks/get"]; - /** - * Update a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. - */ - patch: operations["checks/update"]; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { - /** - * List check run annotations - * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. - */ - get: operations["checks/list-annotations"]; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { - /** - * Rerequest a check run - * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. - * - * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". - */ - post: operations["checks/rerequest-run"]; - }; - "/repos/{owner}/{repo}/check-suites": { - /** - * Create a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. - */ - post: operations["checks/create-suite"]; - }; - "/repos/{owner}/{repo}/check-suites/preferences": { - /** - * Update repository preferences for check suites - * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. - */ - patch: operations["checks/set-suites-preferences"]; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { - /** - * Get a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - get: operations["checks/get-suite"]; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { - /** - * List check runs in a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: operations["checks/list-for-suite"]; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { - /** - * Rerequest a check suite - * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. - */ - post: operations["checks/rerequest-suite"]; - }; - "/repos/{owner}/{repo}/code-scanning/alerts": { - /** - * List code scanning alerts for a repository - * @description Lists all open code scanning alerts for the default branch (usually `main` - * or `master`). You must use an access token with the `security_events` scope to use - * this endpoint with private repos, the `public_repo` scope also grants permission to read - * security events on public repos only. GitHub Apps must have the `security_events` read - * permission to use this endpoint. - * - * The response includes a `most_recent_instance` object. - * This provides details of the most recent instance of this alert - * for the default branch or for the specified Git reference - * (if you used `ref` in the request). - */ - get: operations["code-scanning/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { - /** - * Get a code scanning alert - * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/get-alert"]; - /** - * Update a code scanning alert - * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. - */ - patch: operations["code-scanning/update-alert"]; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { - /** - * List instances of a code scanning alert - * @description Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/list-alert-instances"]; - }; - "/repos/{owner}/{repo}/code-scanning/analyses": { - /** - * List code scanning analyses for a repository - * @description Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - get: operations["code-scanning/list-recent-analyses"]; - }; - "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { - /** - * Get a code scanning analysis for a repository - * @description Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * The default JSON response contains fields that describe the analysis. - * This includes the Git reference and commit SHA to which the analysis relates, - * the datetime of the analysis, the name of the code scanning tool, - * and the number of alerts. - * - * The `rules_count` field in the default response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * If you use the Accept header `application/sarif+json`, - * the response contains the analysis data that was uploaded. - * This is formatted as - * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). - */ - get: operations["code-scanning/get-analysis"]; - /** - * Delete a code scanning analysis from a repository - * @description Deletes a specified code scanning analysis from a repository. For - * private repositories, you must use an access token with the `repo` scope. For public repositories, - * you must use an access token with `public_repo` scope. - * GitHub Apps must have the `security_events` write permission to use this endpoint. - * - * You can delete one analysis at a time. - * To delete a series of analyses, start with the most recent analysis and work backwards. - * Conceptually, the process is similar to the undo function in a text editor. - * - * When you list the analyses for a repository, - * one or more will be identified as deletable in the response: - * - * ``` - * "deletable": true - * ``` - * - * An analysis is deletable when it's the most recent in a set of analyses. - * Typically, a repository will have multiple sets of analyses - * for each enabled code scanning tool, - * where a set is determined by a unique combination of analysis values: - * - * * `ref` - * * `tool` - * * `category` - * - * If you attempt to delete an analysis that is not the most recent in a set, - * you'll get a 400 response with the message: - * - * ``` - * Analysis specified is not deletable. - * ``` - * - * The response from a successful `DELETE` operation provides you with - * two alternative URLs for deleting the next analysis in the set: - * `next_analysis_url` and `confirm_delete_url`. - * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis - * in a set. This is a useful option if you want to preserve at least one analysis - * for the specified tool in your repository. - * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. - * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` - * in the 200 response is `null`. - * - * As an example of the deletion process, - * let's imagine that you added a workflow that configured a particular code scanning tool - * to analyze the code in a repository. This tool has added 15 analyses: - * 10 on the default branch, and another 5 on a topic branch. - * You therefore have two separate sets of analyses for this tool. - * You've now decided that you want to remove all of the analyses for the tool. - * To do this you must make 15 separate deletion requests. - * To start, you must find an analysis that's identified as deletable. - * Each set of analyses always has one that's identified as deletable. - * Having found the deletable analysis for one of the two sets, - * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. - * Then repeat the process for the second set. - * The procedure therefore consists of a nested loop: - * - * **Outer loop**: - * * List the analyses for the repository, filtered by tool. - * * Parse this list to find a deletable analysis. If found: - * - * **Inner loop**: - * * Delete the identified analysis. - * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. - * - * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. - */ - delete: operations["code-scanning/delete-analysis"]; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/databases": { - /** - * List CodeQL databases for a repository - * @description Lists the CodeQL databases that are available in a repository. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - get: operations["code-scanning/list-codeql-databases"]; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { - /** - * Get a CodeQL database for a repository - * @description Gets a CodeQL database for a language in a repository. - * - * By default this endpoint returns JSON metadata about the CodeQL database. To - * download the CodeQL database binary content, set the `Accept` header of the request - * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure - * your HTTP client is configured to follow redirects or use the `Location` header - * to make a second request to get the redirect URL. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - get: operations["code-scanning/get-codeql-database"]; - }; - "/repos/{owner}/{repo}/code-scanning/default-setup": { - /** - * Get a code scanning default setup configuration - * @description Gets a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - get: operations["code-scanning/get-default-setup"]; - /** - * Update a code scanning default setup configuration - * @description Updates a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - patch: operations["code-scanning/update-default-setup"]; - }; - "/repos/{owner}/{repo}/code-scanning/sarifs": { - /** - * Upload an analysis as SARIF data - * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." - * - * There are two places where you can upload code scanning results. - * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." - * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." - * - * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: - * - * ``` - * gzip -c analysis-data.sarif | base64 -w0 - * ``` - *
- * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. - * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." - * - * - * | **SARIF data** | **Maximum values** | **Additional limits** | - * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| - * | Runs per file | 20 | | - * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | - * | Rules per run | 25,000 | | - * | Tool extensions per run | 100 | | - * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | - * | Location per result | 1,000 | Only 100 locations will be included. | - * | Tags per rule | 20 | Only 10 tags will be included. | - * - * - * The `202 Accepted` response includes an `id` value. - * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. - * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." - */ - post: operations["code-scanning/upload-sarif"]; - }; - "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { - /** - * Get information about a SARIF upload - * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/get-sarif"]; - }; - "/repos/{owner}/{repo}/codeowners/errors": { - /** - * List CODEOWNERS errors - * @description List any syntax errors that are detected in the CODEOWNERS - * file. - * - * For more information about the correct CODEOWNERS syntax, - * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." - */ - get: operations["repos/codeowners-errors"]; - }; - "/repos/{owner}/{repo}/codespaces": { - /** - * List codespaces in a repository for the authenticated user - * @description Lists the codespaces associated to a specified repository and the authenticated user. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/list-in-repository-for-authenticated-user"]; - /** - * Create a codespace in a repository - * @description Creates a codespace owned by the authenticated user in the specified repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/create-with-repo-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/devcontainers": { - /** - * List devcontainer configurations in a repository for the authenticated user - * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files - * specify launchpoint configurations for codespaces created within the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/machines": { - /** - * List available machine types for a repository - * @description List the machine types available for a given repository based on its configuration. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. - */ - get: operations["codespaces/repo-machines-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/new": { - /** - * Get default attributes for a codespace - * @description Gets the default attributes for codespaces created by the user with the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - get: operations["codespaces/list-repo-secrets"]; - }; - "/repos/{owner}/{repo}/codespaces/secrets/public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - get: operations["codespaces/get-repo-public-key"]; - }; - "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - get: operations["codespaces/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` - * repository permission to use this endpoint. - */ - put: operations["codespaces/create-or-update-repo-secret"]; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - delete: operations["codespaces/delete-repo-secret"]; - }; - "/repos/{owner}/{repo}/collaborators": { - /** - * List repository collaborators - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - get: operations["repos/list-collaborators"]; - }; - "/repos/{owner}/{repo}/collaborators/{username}": { - /** - * Check if a user is a repository collaborator - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - get: operations["repos/check-collaborator"]; - /** - * Add a repository collaborator - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - * - * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: - * - * ``` - * Cannot assign {member} permission of {role name} - * ``` - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). - * - * **Updating an existing collaborator's permission level** - * - * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. - * - * **Rate limits** - * - * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. - */ - put: operations["repos/add-collaborator"]; - /** - * Remove a repository collaborator - * @description Removes a collaborator from a repository. - * - * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. - * - * This endpoint also: - * - Cancels any outstanding invitations - * - Unasigns the user from any issues - * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. - * - Unstars the repository - * - Updates access permissions to packages - * - * Removing a user as a collaborator has the following effects on forks: - * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. - * - If the user had their own fork of the repository, the fork will be deleted. - * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. - * - * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. - * - * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. - * - * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". - */ - delete: operations["repos/remove-collaborator"]; - }; - "/repos/{owner}/{repo}/collaborators/{username}/permission": { - /** - * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository - * permissions are `admin`, `write`, `read`, and `none`. - * - * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the - * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the - * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The - * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. - */ - get: operations["repos/get-collaborator-permission-level"]; - }; - "/repos/{owner}/{repo}/comments": { - /** - * List commit comments for a repository - * @description Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). - * - * Comments are ordered by ascending ID. - */ - get: operations["repos/list-commit-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}": { - /** Get a commit comment */ - get: operations["repos/get-commit-comment"]; - /** Delete a commit comment */ - delete: operations["repos/delete-commit-comment"]; - /** Update a commit comment */ - patch: operations["repos/update-commit-comment"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { - /** - * List reactions for a commit comment - * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - get: operations["reactions/list-for-commit-comment"]; - /** - * Create reaction for a commit comment - * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. - */ - post: operations["reactions/create-for-commit-comment"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { - /** - * Delete a commit comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - delete: operations["reactions/delete-for-commit-comment"]; - }; - "/repos/{owner}/{repo}/commits": { - /** - * List commits - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/list-commits"]; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { - /** - * List branches for HEAD commit - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. - */ - get: operations["repos/list-branches-for-head-commit"]; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { - /** - * List commit comments - * @description Use the `:commit_sha` to specify the commit that will have its comments listed. - */ - get: operations["repos/list-comments-for-commit"]; - /** - * Create a commit comment - * @description Create a comment for a commit using its `:commit_sha`. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["repos/create-commit-comment"]; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { - /** - * List pull requests associated with a commit - * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. - * - * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. - */ - get: operations["repos/list-pull-requests-associated-with-commit"]; - }; - "/repos/{owner}/{repo}/commits/{ref}": { - /** - * Get a commit - * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. - * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. - * - * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. - * - * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/get-commit"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/check-runs": { - /** - * List check runs for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: operations["checks/list-for-ref"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/check-suites": { - /** - * List check suites for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - get: operations["checks/list-suites-for-ref"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/status": { - /** - * Get the combined status for a specific reference - * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. - * - * - * Additionally, a combined `state` is returned. The `state` is one of: - * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` - */ - get: operations["repos/get-combined-status-for-ref"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/statuses": { - /** - * List commit statuses for a reference - * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. - */ - get: operations["repos/list-commit-statuses-for-ref"]; - }; - "/repos/{owner}/{repo}/community/profile": { - /** - * Get community profile metrics - * @description Returns all community profile metrics for a repository. The repository cannot be a fork. - * - * The returned metrics include an overall health score, the repository description, the presence of documentation, the - * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, - * README, and CONTRIBUTING files. - * - * The `health_percentage` score is defined as a percentage of how many of - * these four documents are present: README, CONTRIBUTING, LICENSE, and - * CODE_OF_CONDUCT. For example, if all four documents are present, then - * the `health_percentage` is `100`. If only one is present, then the - * `health_percentage` is `25`. - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ - get: operations["repos/get-community-profile-metrics"]; - }; - "/repos/{owner}/{repo}/compare/{basehead}": { - /** - * Compare two commits - * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." - * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: - * - * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. - * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. - * - * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/compare-commits-with-basehead"]; - }; - "/repos/{owner}/{repo}/contents/{path}": { - /** - * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. - * - * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for - * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media - * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent - * object format. - * - * **Notes**: - * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). - * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees - * API](https://docs.github.com/rest/git/trees#get-a-tree). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * Size limits: - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * If the content is a directory: - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * If the content is a symlink: - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * If the content is a submodule: - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. - */ - get: operations["repos/get-content"]; - /** - * Create or update file contents - * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope. - * - * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - put: operations["repos/create-or-update-file-contents"]; - /** - * Delete a file - * @description Deletes a file in a repository. - * - * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. - * - * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. - * - * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. - * - * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - delete: operations["repos/delete-file"]; - }; - "/repos/{owner}/{repo}/contributors": { - /** - * List repository contributors - * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. - * - * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. - */ - get: operations["repos/list-contributors"]; - }; - "/repos/{owner}/{repo}/dependabot/alerts": { - /** - * List Dependabot alerts for a repository - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - get: operations["dependabot/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { - /** - * Get a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - get: operations["dependabot/get-alert"]; - /** - * Update a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. - * - * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." - */ - patch: operations["dependabot/update-alert"]; - }; - "/repos/{owner}/{repo}/dependabot/secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - get: operations["dependabot/list-repo-secrets"]; - }; - "/repos/{owner}/{repo}/dependabot/secrets/public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - get: operations["dependabot/get-repo-public-key"]; - }; - "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - get: operations["dependabot/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository - * permission to use this endpoint. - */ - put: operations["dependabot/create-or-update-repo-secret"]; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - delete: operations["dependabot/delete-repo-secret"]; - }; - "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { - /** - * Get a diff of the dependencies between commits - * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. - */ - get: operations["dependency-graph/diff-range"]; - }; - "/repos/{owner}/{repo}/dependency-graph/sbom": { - /** - * Export a software bill of materials (SBOM) for a repository. - * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. - */ - get: operations["dependency-graph/export-sbom"]; - }; - "/repos/{owner}/{repo}/dependency-graph/snapshots": { - /** - * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. - */ - post: operations["dependency-graph/create-repository-snapshot"]; - }; - "/repos/{owner}/{repo}/deployments": { - /** - * List deployments - * @description Simple filtering of deployments is available via query parameters: - */ - get: operations["repos/list-deployments"]; - /** - * Create a deployment - * @description Deployments offer a few configurable parameters with certain defaults. - * - * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them - * before we merge a pull request. - * - * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have - * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter - * makes it easier to track which environments have requested deployments. The default environment is `production`. - * - * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If - * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, - * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will - * return a failure response. - * - * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` - * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to - * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do - * not require any contexts or create any commit statuses, the deployment will always succeed. - * - * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text - * field that will be passed on when a deployment event is dispatched. - * - * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might - * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an - * application with debugging enabled. - * - * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. - * - * Merged branch response: - * - * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating - * a deployment. This auto-merge happens when: - * * Auto-merge option is enabled in the repository - * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example - * * There are no merge conflicts - * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful - * response. - * - * Merge conflict response: - * - * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't - * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. - * - * Failed commit status checks: - * - * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` - * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. - */ - post: operations["repos/create-deployment"]; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}": { - /** Get a deployment */ - get: operations["repos/get-deployment"]; - /** - * Delete a deployment - * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. - * - * To set a deployment as inactive, you must: - * - * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. - * * Mark the active deployment as inactive by adding any non-successful deployment status. - * - * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." - */ - delete: operations["repos/delete-deployment"]; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { - /** - * List deployment statuses - * @description Users with pull access can view deployment statuses for a deployment: - */ - get: operations["repos/list-deployment-statuses"]; - /** - * Create a deployment status - * @description Users with `push` access can create deployment statuses for a given deployment. - * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. - */ - post: operations["repos/create-deployment-status"]; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { - /** - * Get a deployment status - * @description Users with pull access can view a deployment status for a deployment: - */ - get: operations["repos/get-deployment-status"]; - }; - "/repos/{owner}/{repo}/dispatches": { - /** - * Create a repository dispatch event - * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." - * - * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. - * - * This endpoint requires write access to the repository by providing either: - * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. - * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. - * - * This input example shows how you can use the `client_payload` as a test to debug your workflow. - */ - post: operations["repos/create-dispatch-event"]; - }; - "/repos/{owner}/{repo}/environments": { - /** - * List environments - * @description Lists the environments for a repository. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/get-all-environments"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}": { - /** - * Get an environment - * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." - * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/get-environment"]; - /** - * Create or update an environment - * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." - * - * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." - * - * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - put: operations["repos/create-or-update-environment"]; - /** - * Delete an environment - * @description You must authenticate using an access token with the repo scope to use this endpoint. - */ - delete: operations["repos/delete-an-environment"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { - /** - * List deployment branch policies - * @description Lists the deployment branch policies for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/list-deployment-branch-policies"]; - /** - * Create a deployment branch policy - * @description Creates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - post: operations["repos/create-deployment-branch-policy"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { - /** - * Get a deployment branch policy - * @description Gets a deployment branch policy for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/get-deployment-branch-policy"]; - /** - * Update a deployment branch policy - * @description Updates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - put: operations["repos/update-deployment-branch-policy"]; - /** - * Delete a deployment branch policy - * @description Deletes a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - delete: operations["repos/delete-deployment-branch-policy"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { - /** - * Get all deployment protection rules for an environment - * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - get: operations["repos/get-all-deployment-protection-rules"]; - /** - * Create a custom deployment protection rule on an environment - * @description Enable a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - post: operations["repos/create-deployment-protection-rule"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { - /** - * List custom deployment rule integrations available for an environment - * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. - * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - get: operations["repos/list-custom-deployment-rule-integrations"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { - /** - * Get a custom deployment protection rule - * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). - */ - get: operations["repos/get-custom-deployment-protection-rule"]; - /** - * Disable a custom protection rule for an environment - * @description Disables a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - delete: operations["repos/disable-deployment-protection-rule"]; - }; - "/repos/{owner}/{repo}/events": { - /** - * List repository events - * @description **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-repo-events"]; - }; - "/repos/{owner}/{repo}/forks": { - /** List forks */ - get: operations["repos/list-forks"]; - /** - * Create a fork - * @description Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * - * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. - */ - post: operations["repos/create-fork"]; - }; - "/repos/{owner}/{repo}/git/blobs": { - /** Create a blob */ - post: operations["git/create-blob"]; - }; - "/repos/{owner}/{repo}/git/blobs/{file_sha}": { - /** - * Get a blob - * @description The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. - */ - get: operations["git/get-blob"]; - }; - "/repos/{owner}/{repo}/git/commits": { - /** - * Create a commit - * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - post: operations["git/create-commit"]; - }; - "/repos/{owner}/{repo}/git/commits/{commit_sha}": { - /** - * Get a commit object - * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["git/get-commit"]; - }; - "/repos/{owner}/{repo}/git/matching-refs/{ref}": { - /** - * List matching references - * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. - * - * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. - */ - get: operations["git/list-matching-refs"]; - }; - "/repos/{owner}/{repo}/git/ref/{ref}": { - /** - * Get a reference - * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - */ - get: operations["git/get-ref"]; - }; - "/repos/{owner}/{repo}/git/refs": { - /** - * Create a reference - * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. - */ - post: operations["git/create-ref"]; - }; - "/repos/{owner}/{repo}/git/refs/{ref}": { - /** Delete a reference */ - delete: operations["git/delete-ref"]; - /** Update a reference */ - patch: operations["git/update-ref"]; - }; - "/repos/{owner}/{repo}/git/tags": { - /** - * Create a tag object - * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - post: operations["git/create-tag"]; - }; - "/repos/{owner}/{repo}/git/tags/{tag_sha}": { - /** - * Get a tag - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["git/get-tag"]; - }; - "/repos/{owner}/{repo}/git/trees": { - /** - * Create a tree - * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. - * - * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." - * - * Returns an error if you try to delete a file that does not exist. - */ - post: operations["git/create-tree"]; - }; - "/repos/{owner}/{repo}/git/trees/{tree_sha}": { - /** - * Get a tree - * @description Returns a single tree using the SHA1 value or ref name for that tree. - * - * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. - * - * - * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. - */ - get: operations["git/get-tree"]; - }; - "/repos/{owner}/{repo}/hooks": { - /** - * List repository webhooks - * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. - */ - get: operations["repos/list-webhooks"]; - /** - * Create a repository webhook - * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can - * share the same `config` as long as those webhooks do not have any `events` that overlap. - */ - post: operations["repos/create-webhook"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}": { - /** - * Get a repository webhook - * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." - */ - get: operations["repos/get-webhook"]; - /** Delete a repository webhook */ - delete: operations["repos/delete-webhook"]; - /** - * Update a repository webhook - * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." - */ - patch: operations["repos/update-webhook"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/config": { - /** - * Get a webhook configuration for a repository - * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." - * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. - */ - get: operations["repos/get-webhook-config-for-repo"]; - /** - * Update a webhook configuration for a repository - * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." - * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. - */ - patch: operations["repos/update-webhook-config-for-repo"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { - /** - * List deliveries for a repository webhook - * @description Returns a list of webhook deliveries for a webhook configured in a repository. - */ - get: operations["repos/list-webhook-deliveries"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { - /** - * Get a delivery for a repository webhook - * @description Returns a delivery for a webhook configured in a repository. - */ - get: operations["repos/get-webhook-delivery"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - /** - * Redeliver a delivery for a repository webhook - * @description Redeliver a webhook delivery for a webhook configured in a repository. - */ - post: operations["repos/redeliver-webhook-delivery"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { - /** - * Ping a repository webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - post: operations["repos/ping-webhook"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { - /** - * Test the push repository webhook - * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. - * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` - */ - post: operations["repos/test-push-webhook"]; - }; - "/repos/{owner}/{repo}/import": { - /** - * Get an import status - * @description View the progress of an import. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - * - * **Import status** - * - * This section includes details about the possible values of the `status` field of the Import Progress response. - * - * An import that does not have errors will progress through these steps: - * - * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. - * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). - * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. - * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". - * * `complete` - the import is complete, and the repository is ready on GitHub. - * - * If there are problems, you will see one of these in the `status` field: - * - * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. - * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. - * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * - * **The project_choices field** - * - * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. - * - * **Git LFS related fields** - * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. - * - * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. - * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. - * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. - * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. - */ - get: operations["migrations/get-import-status"]; - /** - * Start an import - * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - put: operations["migrations/start-import"]; - /** - * Cancel an import - * @description Stop an import for a repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - delete: operations["migrations/cancel-import"]; - /** - * Update an import - * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API - * request. If no parameters are provided, the import will be restarted. - * - * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will - * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. - * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - patch: operations["migrations/update-import"]; - }; - "/repos/{owner}/{repo}/import/authors": { - /** - * Get commit authors - * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. - * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - get: operations["migrations/get-commit-authors"]; - }; - "/repos/{owner}/{repo}/import/authors/{author_id}": { - /** - * Map a commit author - * @description Update an author's identity for the import. Your application can continue updating authors any time before you push - * new commits to the repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - patch: operations["migrations/map-commit-author"]; - }; - "/repos/{owner}/{repo}/import/large_files": { - /** - * Get large files - * @description List files larger than 100MB found during the import - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - get: operations["migrations/get-large-files"]; - }; - "/repos/{owner}/{repo}/import/lfs": { - /** - * Update Git LFS preference - * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability - * is powered by [Git LFS](https://git-lfs.com). - * - * You can learn more about our LFS feature and working with large files [on our help - * site](https://docs.github.com/repositories/working-with-files/managing-large-files). - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - patch: operations["migrations/set-lfs-preference"]; - }; - "/repos/{owner}/{repo}/installation": { - /** - * Get a repository installation for the authenticated app - * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-repo-installation"]; - }; - "/repos/{owner}/{repo}/interaction-limits": { - /** - * Get interaction restrictions for a repository - * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. - */ - get: operations["interactions/get-restrictions-for-repo"]; - /** - * Set interaction restrictions for a repository - * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - put: operations["interactions/set-restrictions-for-repo"]; - /** - * Remove interaction restrictions for a repository - * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - delete: operations["interactions/remove-restrictions-for-repo"]; - }; - "/repos/{owner}/{repo}/invitations": { - /** - * List repository invitations - * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. - */ - get: operations["repos/list-invitations"]; - }; - "/repos/{owner}/{repo}/invitations/{invitation_id}": { - /** Delete a repository invitation */ - delete: operations["repos/delete-invitation"]; - /** Update a repository invitation */ - patch: operations["repos/update-invitation"]; - }; - "/repos/{owner}/{repo}/issues": { - /** - * List repository issues - * @description List issues in a repository. Only open issues will be listed. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list-for-repo"]; - /** - * Create an issue - * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["issues/create"]; - }; - "/repos/{owner}/{repo}/issues/comments": { - /** - * List issue comments for a repository - * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. - * - * By default, issue comments are ordered by ascending ID. - */ - get: operations["issues/list-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}": { - /** - * Get an issue comment - * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - get: operations["issues/get-comment"]; - /** - * Delete an issue comment - * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - delete: operations["issues/delete-comment"]; - /** - * Update an issue comment - * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - patch: operations["issues/update-comment"]; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { - /** - * List reactions for an issue comment - * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - get: operations["reactions/list-for-issue-comment"]; - /** - * Create reaction for an issue comment - * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. - */ - post: operations["reactions/create-for-issue-comment"]; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { - /** - * Delete an issue comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - delete: operations["reactions/delete-for-issue-comment"]; - }; - "/repos/{owner}/{repo}/issues/events": { - /** - * List issue events for a repository - * @description Lists events for a repository. - */ - get: operations["issues/list-events-for-repo"]; - }; - "/repos/{owner}/{repo}/issues/events/{event_id}": { - /** - * Get an issue event - * @description Gets a single event by the event id. - */ - get: operations["issues/get-event"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}": { - /** - * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If - * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API - * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read - * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe - * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/get"]; - /** - * Update an issue - * @description Issue owners and users with push access can edit an issue. - */ - patch: operations["issues/update"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { - /** - * Add assignees to an issue - * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. - */ - post: operations["issues/add-assignees"]; - /** - * Remove assignees from an issue - * @description Removes one or more assignees from an issue. - */ - delete: operations["issues/remove-assignees"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { - /** - * Check if a user can be assigned to a issue - * @description Checks if a user has permission to be assigned to a specific issue. - * - * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - get: operations["issues/check-user-can-be-assigned-to-issue"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/comments": { - /** - * List issue comments - * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * Issue comments are ordered by ascending ID. - */ - get: operations["issues/list-comments"]; - /** - * Create an issue comment - * @description - * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - * Creating content too quickly using this endpoint may result in secondary rate limiting. - * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" - * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" - * for details. - */ - post: operations["issues/create-comment"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/events": { - /** - * List issue events - * @description Lists all events for an issue. - */ - get: operations["issues/list-events"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/labels": { - /** - * List labels for an issue - * @description Lists all labels for an issue. - */ - get: operations["issues/list-labels-on-issue"]; - /** - * Set labels for an issue - * @description Removes any previous labels and sets the new labels for an issue. - */ - put: operations["issues/set-labels"]; - /** - * Add labels to an issue - * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. - */ - post: operations["issues/add-labels"]; - /** - * Remove all labels from an issue - * @description Removes all labels from an issue. - */ - delete: operations["issues/remove-all-labels"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { - /** - * Remove a label from an issue - * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. - */ - delete: operations["issues/remove-label"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/lock": { - /** - * Lock an issue - * @description Users with push access can lock an issue or pull request's conversation. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["issues/lock"]; - /** - * Unlock an issue - * @description Users with push access can unlock an issue's conversation. - */ - delete: operations["issues/unlock"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { - /** - * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - get: operations["reactions/list-for-issue"]; - /** - * Create reaction for an issue - * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. - */ - post: operations["reactions/create-for-issue"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { - /** - * Delete an issue reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. - * - * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - delete: operations["reactions/delete-for-issue"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { - /** - * List timeline events for an issue - * @description List all timeline events for an issue. - */ - get: operations["issues/list-events-for-timeline"]; - }; - "/repos/{owner}/{repo}/keys": { - /** List deploy keys */ - get: operations["repos/list-deploy-keys"]; - /** - * Create a deploy key - * @description You can create a read-only deploy key. - */ - post: operations["repos/create-deploy-key"]; - }; - "/repos/{owner}/{repo}/keys/{key_id}": { - /** Get a deploy key */ - get: operations["repos/get-deploy-key"]; - /** - * Delete a deploy key - * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. - */ - delete: operations["repos/delete-deploy-key"]; - }; - "/repos/{owner}/{repo}/labels": { - /** - * List labels for a repository - * @description Lists all labels for a repository. - */ - get: operations["issues/list-labels-for-repo"]; - /** - * Create a label - * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). - */ - post: operations["issues/create-label"]; - }; - "/repos/{owner}/{repo}/labels/{name}": { - /** - * Get a label - * @description Gets a label using the given name. - */ - get: operations["issues/get-label"]; - /** - * Delete a label - * @description Deletes a label using the given label name. - */ - delete: operations["issues/delete-label"]; - /** - * Update a label - * @description Updates a label using the given label name. - */ - patch: operations["issues/update-label"]; - }; - "/repos/{owner}/{repo}/languages": { - /** - * List repository languages - * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. - */ - get: operations["repos/list-languages"]; - }; - "/repos/{owner}/{repo}/license": { - /** - * Get the license for a repository - * @description This method returns the contents of the repository's license file, if one is detected. - * - * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. - */ - get: operations["licenses/get-for-repo"]; - }; - "/repos/{owner}/{repo}/merge-upstream": { - /** - * Sync a fork branch with the upstream repository - * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. - */ - post: operations["repos/merge-upstream"]; - }; - "/repos/{owner}/{repo}/merges": { - /** Merge a branch */ - post: operations["repos/merge"]; - }; - "/repos/{owner}/{repo}/milestones": { - /** - * List milestones - * @description Lists milestones for a repository. - */ - get: operations["issues/list-milestones"]; - /** - * Create a milestone - * @description Creates a milestone. - */ - post: operations["issues/create-milestone"]; - }; - "/repos/{owner}/{repo}/milestones/{milestone_number}": { - /** - * Get a milestone - * @description Gets a milestone using the given milestone number. - */ - get: operations["issues/get-milestone"]; - /** - * Delete a milestone - * @description Deletes a milestone using the given milestone number. - */ - delete: operations["issues/delete-milestone"]; - /** Update a milestone */ - patch: operations["issues/update-milestone"]; - }; - "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { - /** - * List labels for issues in a milestone - * @description Lists labels for issues in a milestone. - */ - get: operations["issues/list-labels-for-milestone"]; - }; - "/repos/{owner}/{repo}/notifications": { - /** - * List repository notifications for the authenticated user - * @description Lists all notifications for the current user in the specified repository. - */ - get: operations["activity/list-repo-notifications-for-authenticated-user"]; - /** - * Mark repository notifications as read - * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - put: operations["activity/mark-repo-notifications-as-read"]; - }; - "/repos/{owner}/{repo}/pages": { - /** - * Get a GitHub Pages site - * @description Gets information about a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/get-pages"]; - /** - * Update information about a GitHub Pages site - * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - put: operations["repos/update-information-about-pages-site"]; - /** - * Create a GitHub Pages site - * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - post: operations["repos/create-pages-site"]; - /** - * Delete a GitHub Pages site - * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - delete: operations["repos/delete-pages-site"]; - }; - "/repos/{owner}/{repo}/pages/builds": { - /** - * List GitHub Pages builds - * @description Lists builts of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/list-pages-builds"]; - /** - * Request a GitHub Pages build - * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. - * - * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. - */ - post: operations["repos/request-pages-build"]; - }; - "/repos/{owner}/{repo}/pages/builds/latest": { - /** - * Get latest Pages build - * @description Gets information about the single most recent build of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/get-latest-pages-build"]; - }; - "/repos/{owner}/{repo}/pages/builds/{build_id}": { - /** - * Get GitHub Pages build - * @description Gets information about a GitHub Pages build. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/get-pages-build"]; - }; - "/repos/{owner}/{repo}/pages/deployment": { - /** - * Create a GitHub Pages deployment - * @description Create a GitHub Pages deployment for a repository. - * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. - */ - post: operations["repos/create-pages-deployment"]; - }; - "/repos/{owner}/{repo}/pages/health": { - /** - * Get a DNS health check for GitHub Pages - * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. - * - * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. - */ - get: operations["repos/get-pages-health-check"]; - }; - "/repos/{owner}/{repo}/private-vulnerability-reporting": { - /** - * Enable private vulnerability reporting for a repository - * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." - */ - put: operations["repos/enable-private-vulnerability-reporting"]; - /** - * Disable private vulnerability reporting for a repository - * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". - */ - delete: operations["repos/disable-private-vulnerability-reporting"]; - }; - "/repos/{owner}/{repo}/projects": { - /** - * List repository projects - * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: operations["projects/list-for-repo"]; - /** - * Create a repository project - * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - post: operations["projects/create-for-repo"]; - }; - "/repos/{owner}/{repo}/pulls": { - /** - * List pull requests - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["pulls/list"]; - /** - * Create a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - post: operations["pulls/create"]; - }; - "/repos/{owner}/{repo}/pulls/comments": { - /** - * List review comments in a repository - * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. - */ - get: operations["pulls/list-review-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { - /** - * Get a review comment for a pull request - * @description Provides details for a review comment. - */ - get: operations["pulls/get-review-comment"]; - /** - * Delete a review comment for a pull request - * @description Deletes a review comment. - */ - delete: operations["pulls/delete-review-comment"]; - /** - * Update a review comment for a pull request - * @description Enables you to edit a review comment. - */ - patch: operations["pulls/update-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { - /** - * List reactions for a pull request review comment - * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - get: operations["reactions/list-for-pull-request-review-comment"]; - /** - * Create reaction for a pull request review comment - * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. - */ - post: operations["reactions/create-for-pull-request-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { - /** - * Delete a pull request comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` - * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - delete: operations["reactions/delete-for-pull-request-comment"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}": { - /** - * Get a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists details of a pull request by providing its number. - * - * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. - * - * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: - * - * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. - * - * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - */ - get: operations["pulls/get"]; - /** - * Update a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - */ - patch: operations["pulls/update"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { - /** - * Create a codespace from a pull request - * @description Creates a codespace owned by the authenticated user for the specified pull request. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/create-with-pr-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { - /** - * List review comments on a pull request - * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. - */ - get: operations["pulls/list-review-comments"]; - /** - * Create a review comment for a pull request - * @description - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. - * - * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. - * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["pulls/create-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { - /** - * Create a reply for a review comment - * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["pulls/create-reply-for-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { - /** - * List commits on a pull request - * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. - */ - get: operations["pulls/list-commits"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/files": { - /** - * List pull requests files - * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. - */ - get: operations["pulls/list-files"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { - /** - * Check if a pull request has been merged - * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. - */ - get: operations["pulls/check-if-merged"]; - /** - * Merge a pull request - * @description Merges a pull request into the base branch. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - put: operations["pulls/merge"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { - /** - * Get all requested reviewers for a pull request - * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. - */ - get: operations["pulls/list-requested-reviewers"]; - /** - * Request reviewers for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["pulls/request-reviewers"]; - /** - * Remove requested reviewers from a pull request - * @description Removes review requests from a pull request for a given set of users and/or teams. - */ - delete: operations["pulls/remove-requested-reviewers"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { - /** - * List reviews for a pull request - * @description The list of reviews returns in chronological order. - */ - get: operations["pulls/list-reviews"]; - /** - * Create a review for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." - * - * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. - * - * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - */ - post: operations["pulls/create-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { - /** - * Get a review for a pull request - * @description Retrieves a pull request review by its ID. - */ - get: operations["pulls/get-review"]; - /** - * Update a review for a pull request - * @description Update the review summary comment with new text. - */ - put: operations["pulls/update-review"]; - /** - * Delete a pending review for a pull request - * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. - */ - delete: operations["pulls/delete-pending-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { - /** - * List comments for a pull request review - * @description List comments for a specific pull request review. - */ - get: operations["pulls/list-comments-for-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { - /** - * Dismiss a review for a pull request - * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. - */ - put: operations["pulls/dismiss-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { - /** - * Submit a review for a pull request - * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - */ - post: operations["pulls/submit-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { - /** - * Update a pull request branch - * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. - */ - put: operations["pulls/update-branch"]; - }; - "/repos/{owner}/{repo}/readme": { - /** - * Get a repository README - * @description Gets the preferred README for a repository. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - get: operations["repos/get-readme"]; - }; - "/repos/{owner}/{repo}/readme/{dir}": { - /** - * Get a repository README for a directory - * @description Gets the README from a repository directory. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - get: operations["repos/get-readme-in-directory"]; - }; - "/repos/{owner}/{repo}/releases": { - /** - * List releases - * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - get: operations["repos/list-releases"]; - /** - * Create a release - * @description Users with push access to the repository can create a release. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["repos/create-release"]; - }; - "/repos/{owner}/{repo}/releases/assets/{asset_id}": { - /** - * Get a release asset - * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. - */ - get: operations["repos/get-release-asset"]; - /** Delete a release asset */ - delete: operations["repos/delete-release-asset"]; - /** - * Update a release asset - * @description Users with push access to the repository can edit a release asset. - */ - patch: operations["repos/update-release-asset"]; - }; - "/repos/{owner}/{repo}/releases/generate-notes": { - /** - * Generate release notes content for a release - * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. - */ - post: operations["repos/generate-release-notes"]; - }; - "/repos/{owner}/{repo}/releases/latest": { - /** - * Get the latest release - * @description View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - get: operations["repos/get-latest-release"]; - }; - "/repos/{owner}/{repo}/releases/tags/{tag}": { - /** - * Get a release by tag name - * @description Get a published release with the specified tag. - */ - get: operations["repos/get-release-by-tag"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}": { - /** - * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). - */ - get: operations["repos/get-release"]; - /** - * Delete a release - * @description Users with push access to the repository can delete a release. - */ - delete: operations["repos/delete-release"]; - /** - * Update a release - * @description Users with push access to the repository can edit a release. - */ - patch: operations["repos/update-release"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}/assets": { - /** List release assets */ - get: operations["repos/list-release-assets"]; - /** - * Upload a release asset - * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in - * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. - * - * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: - * - * `application/zip` - * - * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, - * you'll still need to pass your authentication to be able to upload an asset. - * - * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. - * - * **Notes:** - * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). - * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. - */ - post: operations["repos/upload-release-asset"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}/reactions": { - /** - * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - get: operations["reactions/list-for-release"]; - /** - * Create reaction for a release - * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. - */ - post: operations["reactions/create-for-release"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { - /** - * Delete a release reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. - * - * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - delete: operations["reactions/delete-for-release"]; - }; - "/repos/{owner}/{repo}/rules/branches/{branch}": { - /** - * Get rules for a branch - * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply - * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level - * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" - * enforcement statuses are not returned. - */ - get: operations["repos/get-branch-rules"]; - }; - "/repos/{owner}/{repo}/rulesets": { - /** - * Get all repository rulesets - * @description Get all the rulesets for a repository. - */ - get: operations["repos/get-repo-rulesets"]; - /** - * Create a repository ruleset - * @description Create a ruleset for a repository. - */ - post: operations["repos/create-repo-ruleset"]; - }; - "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { - /** - * Get a repository ruleset - * @description Get a ruleset for a repository. - */ - get: operations["repos/get-repo-ruleset"]; - /** - * Update a repository ruleset - * @description Update a ruleset for a repository. - */ - put: operations["repos/update-repo-ruleset"]; - /** - * Delete a repository ruleset - * @description Delete a ruleset for a repository. - */ - delete: operations["repos/delete-repo-ruleset"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts": { - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { - /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/get-alert"]; - /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - patch: operations["secret-scanning/update-alert"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { - /** - * List locations for a secret scanning alert - * @description Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-locations-for-alert"]; - }; - "/repos/{owner}/{repo}/security-advisories": { - /** - * List repository security advisories - * @description Lists security advisories in a repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. - * - * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. - */ - get: operations["security-advisories/list-repository-advisories"]; - /** - * Create a repository security advisory - * @description Creates a new repository security advisory. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. - */ - post: operations["security-advisories/create-repository-advisory"]; - }; - "/repos/{owner}/{repo}/security-advisories/reports": { - /** - * Privately report a security vulnerability - * @description Report a security vulnerability to the maintainers of the repository. - * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. - */ - post: operations["security-advisories/create-private-vulnerability-report"]; - }; - "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { - /** - * Get a repository security advisory - * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You can access any published security advisory on a public repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. - * - * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a - * collaborator on the security advisory. - */ - get: operations["security-advisories/get-repository-advisory"]; - /** - * Update a repository security advisory - * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to update any security advisory, you must be a security manager or administrator of that repository, - * or a collaborator on the repository security advisory. - */ - patch: operations["security-advisories/update-repository-advisory"]; - }; - "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { - /** - * Request a CVE for a repository security advisory - * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." - * - * You may request a CVE for public repositories, but cannot do so for private repositories. - * - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. - */ - post: operations["security-advisories/create-repository-advisory-cve-request"]; - }; - "/repos/{owner}/{repo}/stargazers": { - /** - * List stargazers - * @description Lists the people that have starred the repository. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - get: operations["activity/list-stargazers-for-repo"]; - }; - "/repos/{owner}/{repo}/stats/code_frequency": { - /** - * Get the weekly commit activity - * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. - */ - get: operations["repos/get-code-frequency-stats"]; - }; - "/repos/{owner}/{repo}/stats/commit_activity": { - /** - * Get the last year of commit activity - * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. - */ - get: operations["repos/get-commit-activity-stats"]; - }; - "/repos/{owner}/{repo}/stats/contributors": { - /** - * Get all contributor commit activity - * @description - * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: - * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - */ - get: operations["repos/get-contributors-stats"]; - }; - "/repos/{owner}/{repo}/stats/participation": { - /** - * Get the weekly commit count - * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. - * - * The array order is oldest week (index 0) to most recent week. - * - * The most recent week is seven days ago at UTC midnight to today at UTC midnight. - */ - get: operations["repos/get-participation-stats"]; - }; - "/repos/{owner}/{repo}/stats/punch_card": { - /** - * Get the hourly commit count for each day - * @description Each array contains the day number, hour number, and number of commits: - * - * * `0-6`: Sunday - Saturday - * * `0-23`: Hour of day - * * Number of commits - * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. - */ - get: operations["repos/get-punch-card-stats"]; - }; - "/repos/{owner}/{repo}/statuses/{sha}": { - /** - * Create a commit status - * @description Users with push access in a repository can create commit statuses for a given SHA. - * - * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. - */ - post: operations["repos/create-commit-status"]; - }; - "/repos/{owner}/{repo}/subscribers": { - /** - * List watchers - * @description Lists the people watching the specified repository. - */ - get: operations["activity/list-watchers-for-repo"]; - }; - "/repos/{owner}/{repo}/subscription": { - /** - * Get a repository subscription - * @description Gets information about whether the authenticated user is subscribed to the repository. - */ - get: operations["activity/get-repo-subscription"]; - /** - * Set a repository subscription - * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. - */ - put: operations["activity/set-repo-subscription"]; - /** - * Delete a repository subscription - * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). - */ - delete: operations["activity/delete-repo-subscription"]; - }; - "/repos/{owner}/{repo}/tags": { - /** List repository tags */ - get: operations["repos/list-tags"]; - }; - "/repos/{owner}/{repo}/tags/protection": { - /** - * List tag protection states for a repository - * @description This returns the tag protection states of a repository. - * - * This information is only available to repository administrators. - */ - get: operations["repos/list-tag-protection"]; - /** - * Create a tag protection state for a repository - * @description This creates a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - post: operations["repos/create-tag-protection"]; - }; - "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { - /** - * Delete a tag protection state for a repository - * @description This deletes a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - delete: operations["repos/delete-tag-protection"]; - }; - "/repos/{owner}/{repo}/tarball/{ref}": { - /** - * Download a repository archive (tar) - * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. - */ - get: operations["repos/download-tarball-archive"]; - }; - "/repos/{owner}/{repo}/teams": { - /** - * List repository teams - * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. - * - * For a public repository, a team is listed only if that team added the public repository explicitly. - * - * Personal access tokens require the following scopes: - * * `public_repo` to call this endpoint on a public repository - * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) - * - * This endpoint is not compatible with fine-grained personal access tokens. - */ - get: operations["repos/list-teams"]; - }; - "/repos/{owner}/{repo}/topics": { - /** Get all repository topics */ - get: operations["repos/get-all-topics"]; - /** Replace all repository topics */ - put: operations["repos/replace-all-topics"]; - }; - "/repos/{owner}/{repo}/traffic/clones": { - /** - * Get repository clones - * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - get: operations["repos/get-clones"]; - }; - "/repos/{owner}/{repo}/traffic/popular/paths": { - /** - * Get top referral paths - * @description Get the top 10 popular contents over the last 14 days. - */ - get: operations["repos/get-top-paths"]; - }; - "/repos/{owner}/{repo}/traffic/popular/referrers": { - /** - * Get top referral sources - * @description Get the top 10 referrers over the last 14 days. - */ - get: operations["repos/get-top-referrers"]; - }; - "/repos/{owner}/{repo}/traffic/views": { - /** - * Get page views - * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - get: operations["repos/get-views"]; - }; - "/repos/{owner}/{repo}/transfer": { - /** - * Transfer a repository - * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). - * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. - */ - post: operations["repos/transfer"]; - }; - "/repos/{owner}/{repo}/vulnerability-alerts": { - /** - * Check if vulnerability alerts are enabled for a repository - * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - get: operations["repos/check-vulnerability-alerts"]; - /** - * Enable vulnerability alerts - * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - put: operations["repos/enable-vulnerability-alerts"]; - /** - * Disable vulnerability alerts - * @description Disables dependency alerts and the dependency graph for a repository. - * The authenticated user must have admin access to the repository. For more information, - * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - delete: operations["repos/disable-vulnerability-alerts"]; - }; - "/repos/{owner}/{repo}/zipball/{ref}": { - /** - * Download a repository archive (zip) - * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * - * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. - */ - get: operations["repos/download-zipball-archive"]; - }; - "/repos/{template_owner}/{template_repo}/generate": { - /** - * Create a repository using a template - * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - post: operations["repos/create-using-template"]; - }; - "/repositories": { - /** - * List public repositories - * @description Lists all public repositories in the order that they were created. - * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. - */ - get: operations["repos/list-public"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/secrets": { - /** - * List environment secrets - * @description Lists all secrets available in an environment without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-environment-secrets"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { - /** - * Get an environment public key - * @description Get the public key for an environment, which you need to encrypt environment - * secrets. You need to encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-environment-public-key"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { - /** - * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-environment-secret"]; - /** - * Create or update an environment secret - * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/create-or-update-environment-secret"]; - /** - * Delete an environment secret - * @description Deletes a secret in an environment using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/delete-environment-secret"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/variables": { - /** - * List environment variables - * @description Lists all environment variables. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-environment-variables"]; - /** - * Create an environment variable - * @description Create an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - post: operations["actions/create-environment-variable"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/variables/{name}": { - /** - * Get an environment variable - * @description Gets a specific variable in an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/get-environment-variable"]; - /** - * Delete an environment variable - * @description Deletes an environment variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/delete-environment-variable"]; - /** - * Update an environment variable - * @description Updates an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - patch: operations["actions/update-environment-variable"]; - }; - "/search/code": { - /** - * Search code - * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: - * - * `q=addClass+in:file+language:js+repo:jquery/jquery` - * - * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. - * - * Considerations for code search: - * - * Due to the complexity of searching code, there are a few restrictions on how searches are performed: - * - * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. - * * Only files smaller than 384 KB are searchable. - * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing - * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. - * - * This endpoint requires you to authenticate and limits you to 10 requests per minute. - */ - get: operations["search/code"]; - }; - "/search/commits": { - /** - * Search commits - * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match - * metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: - * - * `q=repo:octocat/Spoon-Knife+css` - */ - get: operations["search/commits"]; - }; - "/search/issues": { - /** - * Search issues and pull requests - * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted - * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. - * - * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` - * - * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. - * - * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." - */ - get: operations["search/issues-and-pull-requests"]; - }; - "/search/labels": { - /** - * Search labels - * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: - * - * `q=bug+defect+enhancement&repository_id=64778136` - * - * The labels that best match the query appear first in the search results. - */ - get: operations["search/labels"]; - }; - "/search/repositories": { - /** - * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: - * - * `q=tetris+language:assembly&sort=stars&order=desc` - * - * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. - */ - get: operations["search/repos"]; - }; - "/search/topics": { - /** - * Search topics - * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. - * - * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: - * - * `q=ruby+is:featured` - * - * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. - */ - get: operations["search/topics"]; - }; - "/search/users": { - /** - * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you're looking for a list of popular users, you might try this query: - * - * `q=tom+repos:%3E42+followers:%3E1000` - * - * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. - * - * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." - */ - get: operations["search/users"]; - }; - "/teams/{team_id}": { - /** - * Get a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. - */ - get: operations["teams/get-legacy"]; - /** - * Delete a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. - * - * To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - */ - delete: operations["teams/delete-legacy"]; - /** - * Update a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. - * - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. - */ - patch: operations["teams/update-legacy"]; - }; - "/teams/{team_id}/discussions": { - /** - * List discussions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. - * - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/list-discussions-legacy"]; - /** - * Create a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. - * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["teams/create-discussion-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}": { - /** - * Get a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. - * - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/get-discussion-legacy"]; - /** - * Delete a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. - * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["teams/delete-discussion-legacy"]; - /** - * Update a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. - * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - patch: operations["teams/update-discussion-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments": { - /** - * List discussion comments (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. - * - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/list-discussion-comments-legacy"]; - /** - * Create a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. - * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["teams/create-discussion-comment-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { - /** - * Get a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. - * - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/get-discussion-comment-legacy"]; - /** - * Delete a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. - * - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["teams/delete-discussion-comment-legacy"]; - /** - * Update a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. - * - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - patch: operations["teams/update-discussion-comment-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - /** - * List reactions for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. - * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["reactions/list-for-team-discussion-comment-legacy"]; - /** - * Create reaction for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. - * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - */ - post: operations["reactions/create-for-team-discussion-comment-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/reactions": { - /** - * List reactions for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. - * - * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["reactions/list-for-team-discussion-legacy"]; - /** - * Create reaction for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. - * - * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - */ - post: operations["reactions/create-for-team-discussion-legacy"]; - }; - "/teams/{team_id}/invitations": { - /** - * List pending team invitations (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. - * - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - get: operations["teams/list-pending-invitations-legacy"]; - }; - "/teams/{team_id}/members": { - /** - * List team members (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. - * - * Team members will include the members of child teams. - */ - get: operations["teams/list-members-legacy"]; - }; - "/teams/{team_id}/members/{username}": { - /** - * Get team member (Legacy) - * @deprecated - * @description The "Get team member" endpoint (described below) is deprecated. - * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - get: operations["teams/get-member-legacy"]; - /** - * Add team member (Legacy) - * @deprecated - * @description The "Add team member" endpoint (described below) is deprecated. - * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["teams/add-member-legacy"]; - /** - * Remove team member (Legacy) - * @deprecated - * @description The "Remove team member" endpoint (described below) is deprecated. - * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - delete: operations["teams/remove-member-legacy"]; - }; - "/teams/{team_id}/memberships/{username}": { - /** - * Get team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. - * - * Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - get: operations["teams/get-membership-for-user-legacy"]; - /** - * Add or update team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - */ - put: operations["teams/add-or-update-membership-for-user-legacy"]; - /** - * Remove team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - delete: operations["teams/remove-membership-for-user-legacy"]; - }; - "/teams/{team_id}/projects": { - /** - * List team projects (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. - * - * Lists the organization projects for a team. - */ - get: operations["teams/list-projects-legacy"]; - }; - "/teams/{team_id}/projects/{project_id}": { - /** - * Check team permissions for a project (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. - * - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - */ - get: operations["teams/check-permissions-for-project-legacy"]; - /** - * Add or update team project permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. - * - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - */ - put: operations["teams/add-or-update-project-permissions-legacy"]; - /** - * Remove a project from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. - * - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. - */ - delete: operations["teams/remove-project-legacy"]; - }; - "/teams/{team_id}/repos": { - /** - * List team repositories (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. - */ - get: operations["teams/list-repos-legacy"]; - }; - "/teams/{team_id}/repos/{owner}/{repo}": { - /** - * Check team permissions for a repository (Legacy) - * @deprecated - * @description **Note**: Repositories inherited through a parent team will also be checked. - * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: - */ - get: operations["teams/check-permissions-for-repo-legacy"]; - /** - * Add or update team repository permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. - * - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["teams/add-or-update-repo-permissions-legacy"]; - /** - * Remove a repository from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. - * - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. - */ - delete: operations["teams/remove-repo-legacy"]; - }; - "/teams/{team_id}/teams": { - /** - * List child teams (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. - */ - get: operations["teams/list-child-legacy"]; - }; - "/user": { - /** - * Get the authenticated user - * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. - * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. - */ - get: operations["users/get-authenticated"]; - /** - * Update the authenticated user - * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. - */ - patch: operations["users/update-authenticated"]; - }; - "/user/blocks": { - /** - * List users blocked by the authenticated user - * @description List the users you've blocked on your personal account. - */ - get: operations["users/list-blocked-by-authenticated-user"]; - }; - "/user/blocks/{username}": { - /** - * Check if a user is blocked by the authenticated user - * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. - */ - get: operations["users/check-blocked"]; - /** - * Block a user - * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. - */ - put: operations["users/block"]; - /** - * Unblock a user - * @description Unblocks the given user and returns a 204. - */ - delete: operations["users/unblock"]; - }; - "/user/codespaces": { - /** - * List codespaces for the authenticated user - * @description Lists the authenticated user's codespaces. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/list-for-authenticated-user"]; - /** - * Create a codespace for the authenticated user - * @description Creates a new codespace, owned by the authenticated user. - * - * This endpoint requires either a `repository_id` OR a `pull_request` but not both. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/create-for-authenticated-user"]; - }; - "/user/codespaces/secrets": { - /** - * List secrets for the authenticated user - * @description Lists all secrets available for a user's Codespaces without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - get: operations["codespaces/list-secrets-for-authenticated-user"]; - }; - "/user/codespaces/secrets/public-key": { - /** - * Get public key for the authenticated user - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - get: operations["codespaces/get-public-key-for-authenticated-user"]; - }; - "/user/codespaces/secrets/{secret_name}": { - /** - * Get a secret for the authenticated user - * @description Gets a secret available to a user's codespaces without revealing its encrypted value. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - get: operations["codespaces/get-secret-for-authenticated-user"]; - /** - * Create or update a secret for the authenticated user - * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; - /** - * Delete a secret for the authenticated user - * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - delete: operations["codespaces/delete-secret-for-authenticated-user"]; - }; - "/user/codespaces/secrets/{secret_name}/repositories": { - /** - * List selected repositories for a user secret - * @description List the repositories that have been granted the ability to use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; - /** - * Set selected repositories for a user secret - * @description Select the repositories that will use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; - }; - "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add a selected repository to a user secret - * @description Adds a repository to the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. - */ - put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; - /** - * Remove a selected repository from a user secret - * @description Removes a repository from the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}": { - /** - * Get a codespace for the authenticated user - * @description Gets information about a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/get-for-authenticated-user"]; - /** - * Delete a codespace for the authenticated user - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - delete: operations["codespaces/delete-for-authenticated-user"]; - /** - * Update a codespace for the authenticated user - * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. - * - * If you specify a new machine type it will be applied the next time your codespace is started. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - patch: operations["codespaces/update-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/exports": { - /** - * Export a codespace for the authenticated user - * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. - * - * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - post: operations["codespaces/export-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/exports/{export_id}": { - /** - * Get details about a codespace export - * @description Gets information about an export of a codespace. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - get: operations["codespaces/get-export-details-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/machines": { - /** - * List machine types for a codespace - * @description List the machine types a codespace can transition to use. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - get: operations["codespaces/codespace-machines-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/publish": { - /** - * Create a repository from an unpublished codespace - * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. - * - * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. - * - * This will fail for a codespace that is already published, meaning it has an associated repository. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/publish-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/start": { - /** - * Start a codespace for the authenticated user - * @description Starts a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - post: operations["codespaces/start-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/stop": { - /** - * Stop a codespace for the authenticated user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - post: operations["codespaces/stop-for-authenticated-user"]; - }; - "/user/docker/conflicts": { - /** - * Get list of conflicting packages during Docker migration for authenticated-user - * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; - }; - "/user/email/visibility": { - /** - * Set primary email visibility for the authenticated user - * @description Sets the visibility for your primary email addresses. - */ - patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; - }; - "/user/emails": { - /** - * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. - */ - get: operations["users/list-emails-for-authenticated-user"]; - /** - * Add an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - post: operations["users/add-email-for-authenticated-user"]; - /** - * Delete an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - delete: operations["users/delete-email-for-authenticated-user"]; - }; - "/user/followers": { - /** - * List followers of the authenticated user - * @description Lists the people following the authenticated user. - */ - get: operations["users/list-followers-for-authenticated-user"]; - }; - "/user/following": { - /** - * List the people the authenticated user follows - * @description Lists the people who the authenticated user follows. - */ - get: operations["users/list-followed-by-authenticated-user"]; - }; - "/user/following/{username}": { - /** Check if a person is followed by the authenticated user */ - get: operations["users/check-person-is-followed-by-authenticated"]; - /** - * Follow a user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - put: operations["users/follow"]; - /** - * Unfollow a user - * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - delete: operations["users/unfollow"]; - }; - "/user/gpg_keys": { - /** - * List GPG keys for the authenticated user - * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/list-gpg-keys-for-authenticated-user"]; - /** - * Create a GPG key for the authenticated user - * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - post: operations["users/create-gpg-key-for-authenticated-user"]; - }; - "/user/gpg_keys/{gpg_key_id}": { - /** - * Get a GPG key for the authenticated user - * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/get-gpg-key-for-authenticated-user"]; - /** - * Delete a GPG key for the authenticated user - * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["users/delete-gpg-key-for-authenticated-user"]; - }; - "/user/installations": { - /** - * List app installations accessible to the user access token - * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You can find the permissions for the installation under the `permissions` key. - */ - get: operations["apps/list-installations-for-authenticated-user"]; - }; - "/user/installations/{installation_id}/repositories": { - /** - * List repositories accessible to the user access token - * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The access the user has to each repository is included in the hash under the `permissions` key. - */ - get: operations["apps/list-installation-repos-for-authenticated-user"]; - }; - "/user/installations/{installation_id}/repositories/{repository_id}": { - /** - * Add a repository to an app installation - * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - put: operations["apps/add-repo-to-installation-for-authenticated-user"]; - /** - * Remove a repository from an app installation - * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; - }; - "/user/interaction-limits": { - /** - * Get interaction restrictions for your public repositories - * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. - */ - get: operations["interactions/get-restrictions-for-authenticated-user"]; - /** - * Set interaction restrictions for your public repositories - * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. - */ - put: operations["interactions/set-restrictions-for-authenticated-user"]; - /** - * Remove interaction restrictions from your public repositories - * @description Removes any interaction restrictions from your public repositories. - */ - delete: operations["interactions/remove-restrictions-for-authenticated-user"]; - }; - "/user/issues": { - /** - * List user account issues assigned to the authenticated user - * @description List issues across owned and member repositories assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list-for-authenticated-user"]; - }; - "/user/keys": { - /** - * List public SSH keys for the authenticated user - * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/list-public-ssh-keys-for-authenticated-user"]; - /** - * Create a public SSH key for the authenticated user - * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - post: operations["users/create-public-ssh-key-for-authenticated-user"]; - }; - "/user/keys/{key_id}": { - /** - * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/get-public-ssh-key-for-authenticated-user"]; - /** - * Delete a public SSH key for the authenticated user - * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; - }; - "/user/marketplace_purchases": { - /** - * List subscriptions for the authenticated user - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - get: operations["apps/list-subscriptions-for-authenticated-user"]; - }; - "/user/marketplace_purchases/stubbed": { - /** - * List subscriptions for the authenticated user (stubbed) - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; - }; - "/user/memberships/orgs": { - /** - * List organization memberships for the authenticated user - * @description Lists all of the authenticated user's organization memberships. - */ - get: operations["orgs/list-memberships-for-authenticated-user"]; - }; - "/user/memberships/orgs/{org}": { - /** - * Get an organization membership for the authenticated user - * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. - */ - get: operations["orgs/get-membership-for-authenticated-user"]; - /** - * Update an organization membership for the authenticated user - * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. - */ - patch: operations["orgs/update-membership-for-authenticated-user"]; - }; - "/user/migrations": { - /** - * List user migrations - * @description Lists all migrations a user has started. - */ - get: operations["migrations/list-for-authenticated-user"]; - /** - * Start a user migration - * @description Initiates the generation of a user migration archive. - */ - post: operations["migrations/start-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}": { - /** - * Get a user migration status - * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: - * - * * `pending` - the migration hasn't started yet. - * * `exporting` - the migration is in progress. - * * `exported` - the migration finished successfully. - * * `failed` - the migration failed. - * - * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). - */ - get: operations["migrations/get-status-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/archive": { - /** - * Download a user migration archive - * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: - * - * * attachments - * * bases - * * commit\_comments - * * issue\_comments - * * issue\_events - * * issues - * * milestones - * * organizations - * * projects - * * protected\_branches - * * pull\_request\_reviews - * * pull\_requests - * * releases - * * repositories - * * review\_comments - * * schema - * * users - * - * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. - */ - get: operations["migrations/get-archive-for-authenticated-user"]; - /** - * Delete a user migration archive - * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. - */ - delete: operations["migrations/delete-archive-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/repos/{repo_name}/lock": { - /** - * Unlock a user repository - * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. - */ - delete: operations["migrations/unlock-repo-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/repositories": { - /** - * List repositories for a user migration - * @description Lists all the repositories for this user migration. - */ - get: operations["migrations/list-repos-for-authenticated-user"]; - }; - "/user/orgs": { - /** - * List organizations for the authenticated user - * @description List organizations for the authenticated user. - * - * **OAuth scope requirements** - * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. - */ - get: operations["orgs/list-for-authenticated-user"]; - }; - "/user/packages": { - /** - * List packages for the authenticated user's namespace - * @description Lists packages owned by the authenticated user within the user's namespace. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}": { - /** - * Get a package for the authenticated user - * @description Gets a specific package for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-authenticated-user"]; - /** - * Delete a package for the authenticated user - * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/restore": { - /** - * Restore a package for the authenticated user - * @description Restores a package owned by the authenticated user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/versions": { - /** - * List package versions for a package owned by the authenticated user - * @description Lists package versions for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { - /** - * Get a package version for the authenticated user - * @description Gets a specific package version for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-authenticated-user"]; - /** - * Delete a package version for the authenticated user - * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - /** - * Restore a package version for the authenticated user - * @description Restores a package version owned by the authenticated user. - * - * You can restore a deleted package version under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-authenticated-user"]; - }; - "/user/projects": { - /** - * Create a user project - * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - post: operations["projects/create-for-authenticated-user"]; - }; - "/user/public_emails": { - /** - * List public email addresses for the authenticated user - * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. - */ - get: operations["users/list-public-emails-for-authenticated-user"]; - }; - "/user/repos": { - /** - * List repositories for the authenticated user - * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - */ - get: operations["repos/list-for-authenticated-user"]; - /** - * Create a repository for the authenticated user - * @description Creates a new repository for the authenticated user. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. - */ - post: operations["repos/create-for-authenticated-user"]; - }; - "/user/repository_invitations": { - /** - * List repository invitations for the authenticated user - * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. - */ - get: operations["repos/list-invitations-for-authenticated-user"]; - }; - "/user/repository_invitations/{invitation_id}": { - /** Decline a repository invitation */ - delete: operations["repos/decline-invitation-for-authenticated-user"]; - /** Accept a repository invitation */ - patch: operations["repos/accept-invitation-for-authenticated-user"]; - }; - "/user/social_accounts": { - /** - * List social accounts for the authenticated user - * @description Lists all of your social accounts. - */ - get: operations["users/list-social-accounts-for-authenticated-user"]; - /** - * Add social accounts for the authenticated user - * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - post: operations["users/add-social-account-for-authenticated-user"]; - /** - * Delete social accounts for the authenticated user - * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - delete: operations["users/delete-social-account-for-authenticated-user"]; - }; - "/user/ssh_signing_keys": { - /** - * List SSH signing keys for the authenticated user - * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; - /** - * Create a SSH signing key for the authenticated user - * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - post: operations["users/create-ssh-signing-key-for-authenticated-user"]; - }; - "/user/ssh_signing_keys/{ssh_signing_key_id}": { - /** - * Get an SSH signing key for the authenticated user - * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - get: operations["users/get-ssh-signing-key-for-authenticated-user"]; - /** - * Delete an SSH signing key for the authenticated user - * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; - }; - "/user/starred": { - /** - * List repositories starred by the authenticated user - * @description Lists repositories the authenticated user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - get: operations["activity/list-repos-starred-by-authenticated-user"]; - }; - "/user/starred/{owner}/{repo}": { - /** - * Check if a repository is starred by the authenticated user - * @description Whether the authenticated user has starred the repository. - */ - get: operations["activity/check-repo-is-starred-by-authenticated-user"]; - /** - * Star a repository for the authenticated user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["activity/star-repo-for-authenticated-user"]; - /** - * Unstar a repository for the authenticated user - * @description Unstar a repository that the authenticated user has previously starred. - */ - delete: operations["activity/unstar-repo-for-authenticated-user"]; - }; - "/user/subscriptions": { - /** - * List repositories watched by the authenticated user - * @description Lists repositories the authenticated user is watching. - */ - get: operations["activity/list-watched-repos-for-authenticated-user"]; - }; - "/user/teams": { - /** - * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. - */ - get: operations["teams/list-for-authenticated-user"]; - }; - "/users": { - /** - * List users - * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. - * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. - */ - get: operations["users/list"]; - }; - "/users/{username}": { - /** - * Get a user - * @description Provides publicly available information about someone with a GitHub account. - * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" - * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public†which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). - * - * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". - */ - get: operations["users/get-by-username"]; - }; - "/users/{username}/docker/conflicts": { - /** - * Get list of conflicting packages during Docker migration for user - * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; - }; - "/users/{username}/events": { - /** - * List events for the authenticated user - * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. - */ - get: operations["activity/list-events-for-authenticated-user"]; - }; - "/users/{username}/events/orgs/{org}": { - /** - * List organization events for the authenticated user - * @description This is the user's organization dashboard. You must be authenticated as the user to view this. - */ - get: operations["activity/list-org-events-for-authenticated-user"]; - }; - "/users/{username}/events/public": { - /** List public events for a user */ - get: operations["activity/list-public-events-for-user"]; - }; - "/users/{username}/followers": { - /** - * List followers of a user - * @description Lists the people following the specified user. - */ - get: operations["users/list-followers-for-user"]; - }; - "/users/{username}/following": { - /** - * List the people a user follows - * @description Lists the people who the specified user follows. - */ - get: operations["users/list-following-for-user"]; - }; - "/users/{username}/following/{target_user}": { - /** Check if a user follows another user */ - get: operations["users/check-following-for-user"]; - }; - "/users/{username}/gists": { - /** - * List gists for a user - * @description Lists public gists for the specified user: - */ - get: operations["gists/list-for-user"]; - }; - "/users/{username}/gpg_keys": { - /** - * List GPG keys for a user - * @description Lists the GPG keys for a user. This information is accessible by anyone. - */ - get: operations["users/list-gpg-keys-for-user"]; - }; - "/users/{username}/hovercard": { - /** - * Get contextual information for a user - * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. - * - * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: - * - * ```shell - * curl -u username:token - * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 - * ``` - */ - get: operations["users/get-context-for-user"]; - }; - "/users/{username}/installation": { - /** - * Get a user installation for the authenticated app - * @description Enables an authenticated GitHub App to find the user’s installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-user-installation"]; - }; - "/users/{username}/keys": { - /** - * List public keys for a user - * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. - */ - get: operations["users/list-public-keys-for-user"]; - }; - "/users/{username}/orgs": { - /** - * List organizations for a user - * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. - * - * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. - */ - get: operations["orgs/list-for-user"]; - }; - "/users/{username}/packages": { - /** - * List packages for a user - * @description Lists all packages in a user's namespace for which the requesting user has access. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}": { - /** - * Get a package for a user - * @description Gets a specific package metadata for a public package owned by a user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-user"]; - /** - * Delete a package for a user - * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/restore": { - /** - * Restore a package for a user - * @description Restores an entire package for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions": { - /** - * List package versions for a package owned by a user - * @description Lists package versions for a public package owned by a specified user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { - /** - * Get a package version for a user - * @description Gets a specific package version for a public package owned by a specified user. - * - * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-user"]; - /** - * Delete package version for a user - * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - /** - * Restore package version for a user - * @description Restores a specific package version for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-user"]; - }; - "/users/{username}/projects": { - /** - * List user projects - * @description Lists projects for a user. - */ - get: operations["projects/list-for-user"]; - }; - "/users/{username}/received_events": { - /** - * List events received by the authenticated user - * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. - */ - get: operations["activity/list-received-events-for-user"]; - }; - "/users/{username}/received_events/public": { - /** List public events received by a user */ - get: operations["activity/list-received-public-events-for-user"]; - }; - "/users/{username}/repos": { - /** - * List repositories for a user - * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. - */ - get: operations["repos/list-for-user"]; - }; - "/users/{username}/settings/billing/actions": { - /** - * Get GitHub Actions billing for a user - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `user` scope. - */ - get: operations["billing/get-github-actions-billing-user"]; - }; - "/users/{username}/settings/billing/packages": { - /** - * Get GitHub Packages billing for a user - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - get: operations["billing/get-github-packages-billing-user"]; - }; - "/users/{username}/settings/billing/shared-storage": { - /** - * Get shared storage billing for a user - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - get: operations["billing/get-shared-storage-billing-user"]; - }; - "/users/{username}/social_accounts": { - /** - * List social accounts for a user - * @description Lists social media accounts for a user. This endpoint is accessible by anyone. - */ - get: operations["users/list-social-accounts-for-user"]; - }; - "/users/{username}/ssh_signing_keys": { - /** - * List SSH signing keys for a user - * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. - */ - get: operations["users/list-ssh-signing-keys-for-user"]; - }; - "/users/{username}/starred": { - /** - * List repositories starred by a user - * @description Lists repositories a user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - get: operations["activity/list-repos-starred-by-user"]; - }; - "/users/{username}/subscriptions": { - /** - * List repositories watched by a user - * @description Lists repositories a user is watching. - */ - get: operations["activity/list-repos-watched-by-user"]; - }; - "/versions": { - /** - * Get all API versions - * @description Get all supported GitHub API versions. - */ - get: operations["meta/get-all-versions"]; - }; - "/zen": { - /** - * Get the Zen of GitHub - * @description Get a random sentence from the Zen of GitHub - */ - get: operations["meta/get-zen"]; - }; - "/repos/{owner}/{repo}/compare/{base}...{head}": { - /** - * Compare two commits - * @description **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. - * - * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." - * - * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/compare-commits"]; - }; -} - -export type webhooks = Record; - -export interface components { - schemas: { - root: { - /** Format: uri-template */ - current_user_url: string; - /** Format: uri-template */ - current_user_authorizations_html_url: string; - /** Format: uri-template */ - authorizations_url: string; - /** Format: uri-template */ - code_search_url: string; - /** Format: uri-template */ - commit_search_url: string; - /** Format: uri-template */ - emails_url: string; - /** Format: uri-template */ - emojis_url: string; - /** Format: uri-template */ - events_url: string; - /** Format: uri-template */ - feeds_url: string; - /** Format: uri-template */ - followers_url: string; - /** Format: uri-template */ - following_url: string; - /** Format: uri-template */ - gists_url: string; - /** Format: uri-template */ - hub_url: string; - /** Format: uri-template */ - issue_search_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - label_search_url: string; - /** Format: uri-template */ - notifications_url: string; - /** Format: uri-template */ - organization_url: string; - /** Format: uri-template */ - organization_repositories_url: string; - /** Format: uri-template */ - organization_teams_url: string; - /** Format: uri-template */ - public_gists_url: string; - /** Format: uri-template */ - rate_limit_url: string; - /** Format: uri-template */ - repository_url: string; - /** Format: uri-template */ - repository_search_url: string; - /** Format: uri-template */ - current_user_repositories_url: string; - /** Format: uri-template */ - starred_url: string; - /** Format: uri-template */ - starred_gists_url: string; - /** Format: uri-template */ - topic_search_url?: string; - /** Format: uri-template */ - user_url: string; - /** Format: uri-template */ - user_organizations_url: string; - /** Format: uri-template */ - user_repositories_url: string; - /** Format: uri-template */ - user_search_url: string; - }; - /** - * @description The package's language or package management ecosystem. - * @enum {string} - */ - "security-advisory-ecosystems": - | "rubygems" - | "npm" - | "pip" - | "maven" - | "nuget" - | "composer" - | "go" - | "rust" - | "erlang" - | "actions" - | "pub" - | "other" - | "swift"; - /** - * Simple User - * @description A GitHub user. - */ - "simple-user": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** - * @description The type of credit the user is receiving. - * @enum {string} - */ - "security-advisory-credit-types": - | "analyst" - | "finder" - | "reporter" - | "coordinator" - | "remediation_developer" - | "remediation_reviewer" - | "remediation_verifier" - | "tool" - | "sponsor" - | "other"; - /** @description A GitHub Security Advisory. */ - "global-advisory": { - /** @description The GitHub Security Advisory ID. */ - ghsa_id: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id: string | null; - /** @description The API URL for the advisory. */ - url: string; - /** - * Format: uri - * @description The URL for the advisory. - */ - html_url: string; - /** - * Format: uri - * @description The API URL for the repository advisory. - */ - repository_advisory_url: string | null; - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory entails. */ - description: string | null; - /** - * @description The type of advisory. - * @enum {string} - */ - type: "reviewed" | "unreviewed" | "malware"; - /** - * @description The severity of the advisory. - * @enum {string} - */ - severity: "critical" | "high" | "medium" | "low" | "unknown"; - /** - * Format: uri - * @description The URL of the advisory's source code. - */ - source_code_location: string | null; - identifiers: - | readonly { - /** - * @description The type of identifier. - * @enum {string} - */ - type: "CVE" | "GHSA"; - /** @description The identifier value. */ - value: string; - }[] - | null; - references: string[] | null; - /** - * Format: date-time - * @description The date and time of when the advisory was published, in ISO 8601 format. - */ - published_at: string; - /** - * Format: date-time - * @description The date and time of when the advisory was last updated, in ISO 8601 format. - */ - updated_at: string; - /** - * Format: date-time - * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. - */ - github_reviewed_at: string | null; - /** - * Format: date-time - * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. - * This field is only populated when the advisory is imported from the National Vulnerability Database. - */ - nvd_published_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. - */ - withdrawn_at: string | null; - /** @description The products and respective version ranges affected by the advisory. */ - vulnerabilities: - | { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name: string | null; - } | null; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range: string | null; - /** @description The package version that resolve the vulnerability. */ - first_patched_version: string | null; - /** @description The functions in the package that are affected by the vulnerability. */ - vulnerable_functions: readonly string[] | null; - }[] - | null; - cvss: { - /** @description The CVSS vector. */ - vector_string: string | null; - /** @description The CVSS score. */ - score: number | null; - } | null; - cwes: - | { - /** @description The Common Weakness Enumeration (CWE) identifier. */ - cwe_id: string; - /** @description The name of the CWE. */ - name: string; - }[] - | null; - /** @description The users who contributed to the advisory. */ - credits: - | readonly { - user: components["schemas"]["simple-user"]; - type: components["schemas"]["security-advisory-credit-types"]; - }[] - | null; - }; - /** - * Basic Error - * @description Basic Error - */ - "basic-error": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - /** - * Validation Error Simple - * @description Validation Error Simple - */ - "validation-error-simple": { - message: string; - documentation_url: string; - errors?: string[]; - }; - /** - * Simple User - * @description A GitHub user. - */ - "nullable-simple-user": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** - * GitHub app - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - integration: { - /** - * @description Unique identifier of the GitHub app - * @example 37 - */ - id: number; - /** - * @description The slug name of the GitHub app - * @example probot-owners - */ - slug?: string; - /** @example MDExOkludGVncmF0aW9uMQ== */ - node_id: string; - owner: components["schemas"]["nullable-simple-user"]; - /** - * @description The name of the GitHub app - * @example Probot Owners - */ - name: string; - /** @example The description of the app. */ - description: string | null; - /** - * Format: uri - * @example https://example.com - */ - external_url: string; - /** - * Format: uri - * @example https://github.com/apps/super-ci - */ - html_url: string; - /** - * Format: date-time - * @example 2017-07-08T16:18:44-04:00 - */ - created_at: string; - /** - * Format: date-time - * @example 2017-07-08T16:18:44-04:00 - */ - updated_at: string; - /** - * @description The set of permissions for the GitHub app - * @example { - * "issues": "read", - * "deployments": "write" - * } - */ - permissions: { - issues?: string; - checks?: string; - metadata?: string; - contents?: string; - deployments?: string; - [key: string]: string | undefined; - }; - /** - * @description The list of events for the GitHub app - * @example [ - * "label", - * "deployment" - * ] - */ - events: string[]; - /** - * @description The number of installations associated with the GitHub app - * @example 5 - */ - installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; - /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ - client_secret?: string; - /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ - webhook_secret?: string | null; - /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ - pem?: string; - }; - /** - * Format: uri - * @description The URL to which the payloads will be delivered. - * @example https://example.com/webhook - */ - "webhook-config-url": string; - /** - * @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. - * @example "json" - */ - "webhook-config-content-type": string; - /** - * @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). - * @example "********" - */ - "webhook-config-secret": string; - "webhook-config-insecure-ssl": string | number; - /** - * Webhook Configuration - * @description Configuration object of the webhook - */ - "webhook-config": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - /** - * Simple webhook delivery - * @description Delivery made by a webhook, without request and response information. - */ - "hook-delivery-item": { - /** - * @description Unique identifier of the webhook delivery. - * @example 42 - */ - id: number; - /** - * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). - * @example 58474f00-b361-11eb-836d-0e4f3503ccbe - */ - guid: string; - /** - * Format: date-time - * @description Time when the webhook delivery occurred. - * @example 2021-05-12T20:33:44Z - */ - delivered_at: string; - /** - * @description Whether the webhook delivery is a redelivery. - * @example false - */ - redelivery: boolean; - /** - * @description Time spent delivering. - * @example 0.03 - */ - duration: number; - /** - * @description Describes the response returned after attempting the delivery. - * @example failed to connect - */ - status: string; - /** - * @description Status code received when delivery was made. - * @example 502 - */ - status_code: number; - /** - * @description The event that triggered the delivery. - * @example issues - */ - event: string; - /** - * @description The type of activity for the event that triggered the delivery. - * @example opened - */ - action: string | null; - /** - * @description The id of the GitHub App installation associated with this event. - * @example 123 - */ - installation_id: number | null; - /** - * @description The id of the repository associated with this event. - * @example 123 - */ - repository_id: number | null; - }; - /** - * Scim Error - * @description Scim Error - */ - "scim-error": { - message?: string | null; - documentation_url?: string | null; - detail?: string | null; - status?: number; - scimType?: string | null; - schemas?: string[]; - }; - /** - * Validation Error - * @description Validation Error - */ - "validation-error": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; - /** - * Webhook delivery - * @description Delivery made by a webhook. - */ - "hook-delivery": { - /** - * @description Unique identifier of the delivery. - * @example 42 - */ - id: number; - /** - * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). - * @example 58474f00-b361-11eb-836d-0e4f3503ccbe - */ - guid: string; - /** - * Format: date-time - * @description Time when the delivery was delivered. - * @example 2021-05-12T20:33:44Z - */ - delivered_at: string; - /** - * @description Whether the delivery is a redelivery. - * @example false - */ - redelivery: boolean; - /** - * @description Time spent delivering. - * @example 0.03 - */ - duration: number; - /** - * @description Description of the status of the attempted delivery - * @example failed to connect - */ - status: string; - /** - * @description Status code received when delivery was made. - * @example 502 - */ - status_code: number; - /** - * @description The event that triggered the delivery. - * @example issues - */ - event: string; - /** - * @description The type of activity for the event that triggered the delivery. - * @example opened - */ - action: string | null; - /** - * @description The id of the GitHub App installation associated with this event. - * @example 123 - */ - installation_id: number | null; - /** - * @description The id of the repository associated with this event. - * @example 123 - */ - repository_id: number | null; - /** - * @description The URL target of the delivery. - * @example https://www.example.com - */ - url?: string; - request: { - /** @description The request headers sent with the webhook delivery. */ - headers: { - [key: string]: unknown; - } | null; - /** @description The webhook payload. */ - payload: { - [key: string]: unknown; - } | null; - }; - response: { - /** @description The response headers received when the delivery was made. */ - headers: { - [key: string]: unknown; - } | null; - /** @description The response payload received. */ - payload: string | null; - }; - }; - /** - * Enterprise - * @description An enterprise on GitHub. - */ - enterprise: { - /** @description A short description of the enterprise. */ - description?: string | null; - /** - * Format: uri - * @example https://github.com/enterprises/octo-business - */ - html_url: string; - /** - * Format: uri - * @description The enterprise's website URL. - */ - website_url?: string | null; - /** - * @description Unique identifier of the enterprise - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the enterprise. - * @example Octo Business - */ - name: string; - /** - * @description The slug url identifier for the enterprise. - * @example octo-business - */ - slug: string; - /** - * Format: date-time - * @example 2019-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2019-01-26T19:14:43Z - */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }; - /** - * Integration Installation Request - * @description Request to install an integration on a target - */ - "integration-installation-request": { - /** - * @description Unique identifier of the request installation. - * @example 42 - */ - id: number; - /** @example MDExOkludGVncmF0aW9uMQ== */ - node_id?: string; - account: - | components["schemas"]["simple-user"] - | components["schemas"]["enterprise"]; - requester: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @example 2022-07-08T16:18:44-04:00 - */ - created_at: string; - }; - /** - * App Permissions - * @description The permissions granted to the user access token. - * @example { - * "contents": "read", - * "issues": "read", - * "deployments": "write", - * "single_file": "read" - * } - */ - "app-permissions": { - /** - * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - * @enum {string} - */ - actions?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - * @enum {string} - */ - administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for checks on code. - * @enum {string} - */ - checks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - * @enum {string} - */ - contents?: "read" | "write"; - /** - * @description The level of permission to grant the access token for deployments and deployment statuses. - * @enum {string} - */ - deployments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for managing repository environments. - * @enum {string} - */ - environments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - * @enum {string} - */ - issues?: "read" | "write"; - /** - * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - * @enum {string} - */ - metadata?: "read" | "write"; - /** - * @description The level of permission to grant the access token for packages published to GitHub Packages. - * @enum {string} - */ - packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - * @enum {string} - */ - pages?: "read" | "write"; - /** - * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - * @enum {string} - */ - pull_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - * @enum {string} - */ - repository_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository projects, columns, and cards. - * @enum {string} - */ - repository_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token to view and manage secret scanning alerts. - * @enum {string} - */ - secret_scanning_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository secrets. - * @enum {string} - */ - secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - * @enum {string} - */ - security_events?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage just a single file. - * @enum {string} - */ - single_file?: "read" | "write"; - /** - * @description The level of permission to grant the access token for commit statuses. - * @enum {string} - */ - statuses?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage Dependabot alerts. - * @enum {string} - */ - vulnerability_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to update GitHub Actions workflow files. - * @enum {string} - */ - workflows?: "write"; - /** - * @description The level of permission to grant the access token for organization teams and members. - * @enum {string} - */ - members?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage access to an organization. - * @enum {string} - */ - organization_administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for custom repository roles management. This property is in beta and is subject to change. - * @enum {string} - */ - organization_custom_roles?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage announcement banners for an organization. - * @enum {string} - */ - organization_announcement_banners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - * @enum {string} - */ - organization_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. - * @enum {string} - */ - organization_personal_access_tokens?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. - * @enum {string} - */ - organization_personal_access_token_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing an organization's plan. - * @enum {string} - */ - organization_plan?: "read"; - /** - * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - * @enum {string} - */ - organization_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token for organization packages published to GitHub Packages. - * @enum {string} - */ - organization_packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage organization secrets. - * @enum {string} - */ - organization_secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - * @enum {string} - */ - organization_self_hosted_runners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage users blocked by the organization. - * @enum {string} - */ - organization_user_blocking?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage team discussions and related comments. - * @enum {string} - */ - team_discussions?: "read" | "write"; - }; - /** - * Installation - * @description Installation - */ - installation: { - /** - * @description The ID of the installation. - * @example 1 - */ - id: number; - account: - | ( - | components["schemas"]["simple-user"] - | components["schemas"]["enterprise"] - ) - | null; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** - * Format: uri - * @example https://api.github.com/app/installations/1/access_tokens - */ - access_tokens_url: string; - /** - * Format: uri - * @example https://api.github.com/installation/repositories - */ - repositories_url: string; - /** - * Format: uri - * @example https://github.com/organizations/github/settings/installations/1 - */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - permissions: components["schemas"]["app-permissions"]; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - suspended_by: components["schemas"]["nullable-simple-user"]; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }; - /** - * License Simple - * @description License Simple - */ - "nullable-license-simple": { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** - * Format: uri - * @example https://api.github.com/licenses/mit - */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** - * Repository - * @description A repository on GitHub. - */ - repository: { - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @deprecated - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** - * Installation Token - * @description Authentication token for a GitHub App installed on a user or org. - */ - "installation-token": { - token: string; - expires_at: string; - permissions?: components["schemas"]["app-permissions"]; - /** @enum {string} */ - repository_selection?: "all" | "selected"; - repositories?: components["schemas"]["repository"][]; - /** @example README.md */ - single_file?: string; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - }; - /** Scoped Installation */ - "nullable-scoped-installation": { - permissions: components["schemas"]["app-permissions"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repositories_url: string; - account: components["schemas"]["simple-user"]; - } | null; - /** - * Authorization - * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. - */ - authorization: { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - user?: components["schemas"]["nullable-simple-user"]; - installation?: components["schemas"]["nullable-scoped-installation"]; - /** Format: date-time */ - expires_at: string | null; - }; - /** - * Simple Classroom Repository - * @description A GitHub repository view for Classroom - */ - "simple-classroom-repository": { - /** - * @description A unique identifier of the repository. - * @example 1296269 - */ - id: number; - /** - * @description The full, globally unique name of the repository. - * @example octocat/Hello-World - */ - full_name: string; - /** - * Format: uri - * @description The URL to view the repository on GitHub.com. - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** - * @description The GraphQL identifier of the repository. - * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 - */ - node_id: string; - /** @description Whether the repository is private. */ - private: boolean; - /** - * @description The default branch for the repository. - * @example main - */ - default_branch: string; - }; - /** - * Organization Simple for Classroom - * @description A GitHub organization. - */ - "simple-classroom-organization": { - /** @example 1 */ - id: number; - /** @example github */ - login: string; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/github - */ - html_url: string; - /** @example Github - Code thigns happen here */ - name: string | null; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - }; - /** - * Classroom - * @description A GitHub Classroom classroom - */ - classroom: { - /** - * @description Unique identifier of the classroom. - * @example 42 - */ - id: number; - /** - * @description The name of the classroom. - * @example Programming Elixir - */ - name: string; - /** - * @description Whether classroom is archived. - * @example false - */ - archived: boolean; - organization: components["schemas"]["simple-classroom-organization"]; - /** - * @description The URL of the classroom on GitHub Classroom. - * @example https://classroom.github.com/classrooms/1-programming-elixir - */ - url: string; - }; - /** - * Classroom Assignment - * @description A GitHub Classroom assignment - */ - "classroom-assignment": { - /** - * @description Unique identifier of the repository. - * @example 42 - */ - id: number; - /** - * @description Whether an accepted assignment creates a public repository. - * @example true - */ - public_repo: boolean; - /** - * @description Assignment title. - * @example Intro to Binaries - */ - title: string; - /** - * @description Whether it's a group assignment or individual assignment. - * @example individual - * @enum {string} - */ - type: "individual" | "group"; - /** - * @description The link that a student can use to accept the assignment. - * @example https://classroom.github.com/a/Lx7jiUgx - */ - invite_link: string; - /** - * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. - * @example true - */ - invitations_enabled: boolean; - /** - * @description Sluggified name of the assignment. - * @example intro-to-binaries - */ - slug: string; - /** - * @description Whether students are admins on created repository when a student accepts the assignment. - * @example true - */ - students_are_repo_admins: boolean; - /** - * @description Whether feedback pull request will be created when a student accepts the assignment. - * @example true - */ - feedback_pull_requests_enabled: boolean; - /** - * @description The maximum allowable teams for the assignment. - * @example 0 - */ - max_teams: number | null; - /** - * @description The maximum allowable members per team. - * @example 0 - */ - max_members: number | null; - /** - * @description The selected editor for the assignment. - * @example codespaces - */ - editor: string; - /** - * @description The number of students that have accepted the assignment. - * @example 25 - */ - accepted: number; - /** - * @description The number of students that have submitted the assignment. - * @example 10 - */ - submitted: number; - /** - * @description The number of students that have passed the assignment. - * @example 10 - */ - passing: number; - /** - * @description The programming language used in the assignment. - * @example elixir - */ - language: string; - /** - * Format: date-time - * @description The time at which the assignment is due. - * @example 2011-01-26T19:06:43Z - */ - deadline: string | null; - starter_code_repository: components["schemas"]["simple-classroom-repository"]; - classroom: components["schemas"]["classroom"]; - }; - /** - * Simple Classroom User - * @description A GitHub user simplified for Classroom. - */ - "simple-classroom-user": { - /** @example 1 */ - id: number; - /** @example octocat */ - login: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - }; - /** - * Simple Classroom - * @description A GitHub Classroom classroom - */ - "simple-classroom": { - /** - * @description Unique identifier of the classroom. - * @example 42 - */ - id: number; - /** - * @description The name of the classroom. - * @example Programming Elixir - */ - name: string; - /** - * @description Returns whether classroom is archived or not. - * @example false - */ - archived: boolean; - /** - * @description The url of the classroom on GitHub Classroom. - * @example https://classroom.github.com/classrooms/1-programming-elixir - */ - url: string; - }; - /** - * Simple Classroom Assignment - * @description A GitHub Classroom assignment - */ - "simple-classroom-assignment": { - /** - * @description Unique identifier of the repository. - * @example 42 - */ - id: number; - /** - * @description Whether an accepted assignment creates a public repository. - * @example true - */ - public_repo: boolean; - /** - * @description Assignment title. - * @example Intro to Binaries - */ - title: string; - /** - * @description Whether it's a Group Assignment or Individual Assignment. - * @example individual - * @enum {string} - */ - type: "individual" | "group"; - /** - * @description The link that a student can use to accept the assignment. - * @example https://classroom.github.com/a/Lx7jiUgx - */ - invite_link: string; - /** - * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. - * @example true - */ - invitations_enabled: boolean; - /** - * @description Sluggified name of the assignment. - * @example intro-to-binaries - */ - slug: string; - /** - * @description Whether students are admins on created repository on accepted assignment. - * @example true - */ - students_are_repo_admins: boolean; - /** - * @description Whether feedback pull request will be created on assignment acceptance. - * @example true - */ - feedback_pull_requests_enabled: boolean; - /** - * @description The maximum allowable teams for the assignment. - * @example 0 - */ - max_teams?: number | null; - /** - * @description The maximum allowable members per team. - * @example 0 - */ - max_members?: number | null; - /** - * @description The selected editor for the assignment. - * @example codespaces - */ - editor: string; - /** - * @description The number of students that have accepted the assignment. - * @example 25 - */ - accepted: number; - /** - * @description The number of students that have submitted the assignment. - * @example 10 - */ - submitted: number; - /** - * @description The number of students that have passed the assignment. - * @example 10 - */ - passing: number; - /** - * @description The programming language used in the assignment. - * @example elixir - */ - language: string; - /** - * Format: date-time - * @description The time at which the assignment is due. - * @example 2011-01-26T19:06:43Z - */ - deadline: string | null; - classroom: components["schemas"]["simple-classroom"]; - }; - /** - * Classroom Accepted Assignment - * @description A GitHub Classroom accepted assignment - */ - "classroom-accepted-assignment": { - /** - * @description Unique identifier of the repository. - * @example 42 - */ - id: number; - /** - * @description Whether an accepted assignment has been submitted. - * @example true - */ - submitted: boolean; - /** - * @description Whether a submission passed. - * @example true - */ - passing: boolean; - /** - * @description Count of student commits. - * @example 5 - */ - commit_count: number; - /** - * @description Most recent grade. - * @example 10/10 - */ - grade: string; - students: components["schemas"]["simple-classroom-user"][]; - repository: components["schemas"]["simple-classroom-repository"]; - assignment: components["schemas"]["simple-classroom-assignment"]; - }; - /** - * Classroom Assignment Grade - * @description Grade for a student or groups GitHub Classroom assignment - */ - "classroom-assignment-grade": { - /** @description Name of the assignment */ - assignment_name: string; - /** @description URL of the assignment */ - assignment_url: string; - /** @description URL of the starter code for the assignment */ - starter_code_url: string; - /** @description GitHub username of the student */ - github_username: string; - /** @description Roster identifier of the student */ - roster_identifier: string; - /** @description Name of the student's assignment repository */ - student_repository_name: string; - /** @description URL of the student's assignment repository */ - student_repository_url: string; - /** @description Timestamp of the student's assignment submission */ - submission_timestamp: string; - /** @description Number of points awarded to the student */ - points_awarded: number; - /** @description Number of points available for the assignment */ - points_available: number; - /** @description If a group assignment, name of the group the student is in */ - group_name?: string; - }; - /** - * Code Of Conduct - * @description Code Of Conduct - */ - "code-of-conduct": { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** - * Format: uri - * @example https://api.github.com/codes_of_conduct/contributor_covenant - */ - url: string; - /** - * @example # Contributor Covenant Code of Conduct - * - * ## Our Pledge - * - * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - * - * ## Our Standards - * - * Examples of behavior that contributes to creating a positive environment include: - * - * * Using welcoming and inclusive language - * * Being respectful of differing viewpoints and experiences - * * Gracefully accepting constructive criticism - * * Focusing on what is best for the community - * * Showing empathy towards other community members - * - * Examples of unacceptable behavior by participants include: - * - * * The use of sexualized language or imagery and unwelcome sexual attention or advances - * * Trolling, insulting/derogatory comments, and personal or political attacks - * * Public or private harassment - * * Publishing others' private information, such as a physical or electronic address, without explicit permission - * * Other conduct which could reasonably be considered inappropriate in a professional setting - * - * ## Our Responsibilities - * - * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - * to any instances of unacceptable behavior. - * - * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - * - * ## Scope - * - * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - * - * ## Enforcement - * - * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - * - * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - * - * ## Attribution - * - * This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - * - * [homepage]: http://contributor-covenant.org - * [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - /** @description The security alert number. */ - readonly "alert-number": number; - /** @description Details for the vulnerable package. */ - readonly "dependabot-alert-package": { - /** @description The package's language or package management ecosystem. */ - readonly ecosystem: string; - /** @description The unique package name within its ecosystem. */ - readonly name: string; - }; - /** @description Details pertaining to one vulnerable version range for the advisory. */ - readonly "dependabot-alert-security-vulnerability": { - readonly package: components["schemas"]["dependabot-alert-package"]; - /** - * @description The severity of the vulnerability. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ - readonly vulnerable_version_range: string; - /** @description Details pertaining to the package version that patches this vulnerability. */ - readonly first_patched_version: { - /** @description The package version that patches this vulnerability. */ - readonly identifier: string; - } | null; - }; - /** @description Details for the GitHub Security Advisory. */ - readonly "dependabot-alert-security-advisory": { - /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ - readonly ghsa_id: string; - /** @description The unique CVE ID assigned to the advisory. */ - readonly cve_id: string | null; - /** @description A short, plain text summary of the advisory. */ - readonly summary: string; - /** @description A long-form Markdown-supported description of the advisory. */ - readonly description: string; - /** @description Vulnerable version range information for the advisory. */ - readonly vulnerabilities: readonly components["schemas"]["dependabot-alert-security-vulnerability"][]; - /** - * @description The severity of the advisory. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ - readonly cvss: { - /** @description The overall CVSS score of the advisory. */ - readonly score: number; - /** @description The full CVSS vector string for the advisory. */ - readonly vector_string: string | null; - }; - /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ - readonly cwes: readonly { - /** @description The unique CWE ID. */ - readonly cwe_id: string; - /** @description The short, plain text name of the CWE. */ - readonly name: string; - }[]; - /** @description Values that identify this advisory among security information sources. */ - readonly identifiers: readonly { - /** - * @description The type of advisory identifier. - * @enum {string} - */ - readonly type: "CVE" | "GHSA"; - /** @description The value of the advisory identifer. */ - readonly value: string; - }[]; - /** @description Links to additional advisory information. */ - readonly references: readonly { - /** - * Format: uri - * @description The URL of the reference. - */ - readonly url: string; - }[]; - /** - * Format: date-time - * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly published_at: string; - /** - * Format: date-time - * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly updated_at: string; - /** - * Format: date-time - * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly withdrawn_at: string | null; - }; - /** - * Format: uri - * @description The REST API URL of the alert resource. - */ - readonly "alert-url": string; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - readonly "alert-html-url": string; - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-created-at": string; - /** - * Format: date-time - * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-updated-at": string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-dismissed-at": string | null; - /** - * Format: date-time - * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-fixed-at": string | null; - /** - * Format: date-time - * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-auto-dismissed-at": string | null; - /** - * Simple Repository - * @description A GitHub repository. - */ - "simple-repository": { - /** - * @description A unique identifier of the repository. - * @example 1296269 - */ - id: number; - /** - * @description The GraphQL identifier of the repository. - * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 - */ - node_id: string; - /** - * @description The name of the repository. - * @example Hello-World - */ - name: string; - /** - * @description The full, globally unique, name of the repository. - * @example octocat/Hello-World - */ - full_name: string; - owner: components["schemas"]["simple-user"]; - /** @description Whether the repository is private. */ - private: boolean; - /** - * Format: uri - * @description The URL to view the repository on GitHub.com. - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** - * @description The repository description. - * @example This your first repo! - */ - description: string | null; - /** @description Whether the repository is a fork. */ - fork: boolean; - /** - * Format: uri - * @description The URL to get more information about the repository from the GitHub API. - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** - * @description A template for the API URL to download the repository as an archive. - * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} - */ - archive_url: string; - /** - * @description A template for the API URL to list the available assignees for issues in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} - */ - assignees_url: string; - /** - * @description A template for the API URL to create or retrieve a raw Git blob in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} - */ - blobs_url: string; - /** - * @description A template for the API URL to get information about branches in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} - */ - branches_url: string; - /** - * @description A template for the API URL to get information about collaborators of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} - */ - collaborators_url: string; - /** - * @description A template for the API URL to get information about comments on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} - */ - comments_url: string; - /** - * @description A template for the API URL to get information about commits on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} - */ - commits_url: string; - /** - * @description A template for the API URL to compare two commits or refs. - * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} - */ - compare_url: string; - /** - * @description A template for the API URL to get the contents of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} - */ - contents_url: string; - /** - * Format: uri - * @description A template for the API URL to list the contributors to the repository. - * @example https://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @description The API URL to list the deployments of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @description The API URL to list the downloads on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @description The API URL to list the events of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @description The API URL to list the forks of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** - * @description A template for the API URL to get information about Git commits of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} - */ - git_commits_url: string; - /** - * @description A template for the API URL to get information about Git refs of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} - */ - git_refs_url: string; - /** - * @description A template for the API URL to get information about Git tags of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} - */ - git_tags_url: string; - /** - * @description A template for the API URL to get information about issue comments on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - */ - issue_comment_url: string; - /** - * @description A template for the API URL to get information about issue events on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} - */ - issue_events_url: string; - /** - * @description A template for the API URL to get information about issues on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} - */ - issues_url: string; - /** - * @description A template for the API URL to get information about deploy keys on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} - */ - keys_url: string; - /** - * @description A template for the API URL to get information about labels of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} - */ - labels_url: string; - /** - * Format: uri - * @description The API URL to get information about the languages of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @description The API URL to merge branches in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** - * @description A template for the API URL to get information about milestones of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} - */ - milestones_url: string; - /** - * @description A template for the API URL to get information about notifications on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} - */ - notifications_url: string; - /** - * @description A template for the API URL to get information about pull requests on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} - */ - pulls_url: string; - /** - * @description A template for the API URL to get information about releases on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} - */ - releases_url: string; - /** - * Format: uri - * @description The API URL to list the stargazers on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** - * @description A template for the API URL to get information about statuses of a commit. - * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} - */ - statuses_url: string; - /** - * Format: uri - * @description The API URL to list the subscribers on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @description The API URL to subscribe to notifications for this repository. - * @example https://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @description The API URL to get information about tags on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @description The API URL to list the teams on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** - * @description A template for the API URL to create or retrieve a raw Git tree of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} - */ - trees_url: string; - /** - * Format: uri - * @description The API URL to list the hooks on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - }; - /** @description A Dependabot alert. */ - "dependabot-alert-with-repository": { - number: components["schemas"]["alert-number"]; - /** - * @description The state of the Dependabot alert. - * @enum {string} - */ - state: "auto_dismissed" | "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - dependency: { - readonly package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} - */ - readonly scope?: "development" | "runtime" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - /** - * @description The reason that the alert was dismissed. - * @enum {string|null} - */ - dismissed_reason: - | "fix_started" - | "inaccurate" - | "no_bandwidth" - | "not_used" - | "tolerable_risk" - | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: string | null; - fixed_at: components["schemas"]["alert-fixed-at"]; - auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; - repository: components["schemas"]["simple-repository"]; - }; - /** - * Format: date-time - * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "nullable-alert-updated-at": string | null; - /** - * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - * @enum {string} - */ - "secret-scanning-alert-state": "open" | "resolved"; - /** - * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - * @enum {string|null} - */ - "secret-scanning-alert-resolution": - | "false_positive" - | "wont_fix" - | "revoked" - | "used_in_tests" - | null; - "organization-secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["nullable-alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: components["schemas"]["nullable-simple-user"]; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - repository?: components["schemas"]["simple-repository"]; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - /** @description The comment that was optionally added when this alert was closed */ - resolution_comment?: string | null; - }; - /** - * Actor - * @description Actor - */ - actor: { - id: number; - login: string; - display_login?: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - avatar_url: string; - }; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - "nullable-milestone": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/milestones/v1.0 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels - */ - labels_url: string; - /** @example 1002604 */ - id: number; - /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ - node_id: string; - /** - * @description The number of the milestone. - * @example 42 - */ - number: number; - /** - * @description The state of the milestone. - * @default open - * @example open - * @enum {string} - */ - state: "open" | "closed"; - /** - * @description The title of the milestone. - * @example v1.0 - */ - title: string; - /** @example Tracking milestone for version 1.0 */ - description: string | null; - creator: components["schemas"]["nullable-simple-user"]; - /** @example 4 */ - open_issues: number; - /** @example 8 */ - closed_issues: number; - /** - * Format: date-time - * @example 2011-04-10T20:09:31Z - */ - created_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2013-02-12T13:22:01Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2012-10-09T23:39:01Z - */ - due_on: string | null; - } | null; - /** - * GitHub app - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - "nullable-integration": { - /** - * @description Unique identifier of the GitHub app - * @example 37 - */ - id: number; - /** - * @description The slug name of the GitHub app - * @example probot-owners - */ - slug?: string; - /** @example MDExOkludGVncmF0aW9uMQ== */ - node_id: string; - owner: components["schemas"]["nullable-simple-user"]; - /** - * @description The name of the GitHub app - * @example Probot Owners - */ - name: string; - /** @example The description of the app. */ - description: string | null; - /** - * Format: uri - * @example https://example.com - */ - external_url: string; - /** - * Format: uri - * @example https://github.com/apps/super-ci - */ - html_url: string; - /** - * Format: date-time - * @example 2017-07-08T16:18:44-04:00 - */ - created_at: string; - /** - * Format: date-time - * @example 2017-07-08T16:18:44-04:00 - */ - updated_at: string; - /** - * @description The set of permissions for the GitHub app - * @example { - * "issues": "read", - * "deployments": "write" - * } - */ - permissions: { - issues?: string; - checks?: string; - metadata?: string; - contents?: string; - deployments?: string; - [key: string]: string | undefined; - }; - /** - * @description The list of events for the GitHub app - * @example [ - * "label", - * "deployment" - * ] - */ - events: string[]; - /** - * @description The number of installations associated with the GitHub app - * @example 5 - */ - installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; - /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ - client_secret?: string; - /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ - webhook_secret?: string | null; - /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ - pem?: string; - } | null; - /** - * author_association - * @description How the author is associated with the repository. - * @example OWNER - * @enum {string} - */ - "author-association": - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** Reaction Rollup */ - "reaction-rollup": { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - "-1": number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - /** - * Issue - * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. - */ - issue: { - /** Format: int64 */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue - * @example https://api.github.com/repositories/42/issues/1 - */ - url: string; - /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** - * @description Number uniquely identifying the issue within its repository - * @example 42 - */ - number: number; - /** - * @description State of the issue; either 'open' or 'closed' - * @example open - */ - state: string; - /** - * @description The reason for the current state - * @example not_planned - * @enum {string|null} - */ - state_reason?: "completed" | "reopened" | "not_planned" | null; - /** - * @description Title of the issue - * @example Widget creation fails in Safari on OS X 10.8 - */ - title: string; - /** - * @description Contents of the issue - * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? - */ - body?: string | null; - user: components["schemas"]["nullable-simple-user"]; - /** - * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository - * @example [ - * "bug", - * "registration" - * ] - */ - labels: OneOf< - [ - string, - { - /** Format: int64 */ - id?: number; - node_id?: string; - /** Format: uri */ - url?: string; - name?: string; - description?: string | null; - color?: string | null; - default?: boolean; - }, - ] - >[]; - assignee: components["schemas"]["nullable-simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - milestone: components["schemas"]["nullable-milestone"]; - locked: boolean; - active_lock_reason?: string | null; - comments: number; - pull_request?: { - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - diff_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - patch_url: string | null; - /** Format: uri */ - url: string | null; - }; - /** Format: date-time */ - closed_at: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - draft?: boolean; - closed_by?: components["schemas"]["nullable-simple-user"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Issue Comment - * @description Comments provide a way for people to collaborate on an issue. - */ - "issue-comment": { - /** - * Format: int64 - * @description Unique identifier of the issue comment - * @example 42 - */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue comment - * @example https://api.github.com/repositories/42/issues/comments/1 - */ - url: string; - /** - * @description Contents of the issue comment - * @example What version of Safari were you using when you observed this bug? - */ - body?: string; - body_text?: string; - body_html?: string; - /** Format: uri */ - html_url: string; - user: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - updated_at: string; - /** Format: uri */ - issue_url: string; - author_association: components["schemas"]["author-association"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Event - * @description Event - */ - event: { - id: string; - type: string | null; - actor: components["schemas"]["actor"]; - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - org?: components["schemas"]["actor"]; - payload: { - action?: string; - issue?: components["schemas"]["issue"]; - comment?: components["schemas"]["issue-comment"]; - pages?: { - page_name?: string; - title?: string; - summary?: string | null; - action?: string; - sha?: string; - html_url?: string; - }[]; - }; - public: boolean; - /** Format: date-time */ - created_at: string | null; - }; - /** - * Link With Type - * @description Hypermedia Link with Type - */ - "link-with-type": { - href: string; - type: string; - }; - /** - * Feed - * @description Feed - */ - feed: { - /** @example https://github.com/timeline */ - timeline_url: string; - /** @example https://github.com/{user} */ - user_url: string; - /** @example https://github.com/octocat */ - current_user_public_url?: string; - /** @example https://github.com/octocat.private?token=abc123 */ - current_user_url?: string; - /** @example https://github.com/octocat.private.actor?token=abc123 */ - current_user_actor_url?: string; - /** @example https://github.com/octocat-org */ - current_user_organization_url?: string; - /** - * @example [ - * "https://github.com/organizations/github/octocat.private.atom?token=abc123" - * ] - */ - current_user_organization_urls?: string[]; - /** @example https://github.com/security-advisories */ - security_advisories_url?: string; - /** - * @description A feed of discussions for a given repository. - * @example https://github.com/{user}/{repo}/discussions - */ - repository_discussions_url?: string; - /** - * @description A feed of discussions for a given repository and category. - * @example https://github.com/{user}/{repo}/discussions/categories/{category} - */ - repository_discussions_category_url?: string; - _links: { - timeline: components["schemas"]["link-with-type"]; - user: components["schemas"]["link-with-type"]; - security_advisories?: components["schemas"]["link-with-type"]; - current_user?: components["schemas"]["link-with-type"]; - current_user_public?: components["schemas"]["link-with-type"]; - current_user_actor?: components["schemas"]["link-with-type"]; - current_user_organization?: components["schemas"]["link-with-type"]; - current_user_organizations?: components["schemas"]["link-with-type"][]; - repository_discussions?: components["schemas"]["link-with-type"]; - repository_discussions_category?: components["schemas"]["link-with-type"]; - }; - }; - /** - * Base Gist - * @description Base Gist - */ - "base-gist": { - /** Format: uri */ - url: string; - /** Format: uri */ - forks_url: string; - /** Format: uri */ - commits_url: string; - id: string; - node_id: string; - /** Format: uri */ - git_pull_url: string; - /** Format: uri */ - git_push_url: string; - /** Format: uri */ - html_url: string; - files: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - }; - }; - public: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - description: string | null; - comments: number; - user: components["schemas"]["nullable-simple-user"]; - /** Format: uri */ - comments_url: string; - owner?: components["schemas"]["simple-user"]; - truncated?: boolean; - forks?: unknown[]; - history?: unknown[]; - }; - /** - * Public User - * @description Public User - */ - "public-user": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - events_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - name: string | null; - company: string | null; - blog: string | null; - location: string | null; - /** Format: email */ - email: string | null; - hireable: boolean | null; - bio: string | null; - twitter_username?: string | null; - public_repos: number; - public_gists: number; - followers: number; - following: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; - }; - /** Format: date-time */ - suspended_at?: string | null; - /** @example 1 */ - private_gists?: number; - /** @example 2 */ - total_private_repos?: number; - /** @example 2 */ - owned_private_repos?: number; - /** @example 1 */ - disk_usage?: number; - /** @example 3 */ - collaborators?: number; - }; - /** - * Gist History - * @description Gist History - */ - "gist-history": { - user?: components["schemas"]["nullable-simple-user"]; - version?: string; - /** Format: date-time */ - committed_at?: string; - change_status?: { - total?: number; - additions?: number; - deletions?: number; - }; - /** Format: uri */ - url?: string; - }; - /** - * Gist Simple - * @description Gist Simple - */ - "gist-simple": { - /** @deprecated */ - forks?: - | { - id?: string; - /** Format: uri */ - url?: string; - user?: components["schemas"]["public-user"]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }[] - | null; - /** @deprecated */ - history?: components["schemas"]["gist-history"][] | null; - /** - * Gist - * @description Gist - */ - fork_of?: { - /** Format: uri */ - url: string; - /** Format: uri */ - forks_url: string; - /** Format: uri */ - commits_url: string; - id: string; - node_id: string; - /** Format: uri */ - git_pull_url: string; - /** Format: uri */ - git_push_url: string; - /** Format: uri */ - html_url: string; - files: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - }; - }; - public: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - description: string | null; - comments: number; - user: components["schemas"]["nullable-simple-user"]; - /** Format: uri */ - comments_url: string; - owner?: components["schemas"]["nullable-simple-user"]; - truncated?: boolean; - forks?: unknown[]; - history?: unknown[]; - } | null; - url?: string; - forks_url?: string; - commits_url?: string; - id?: string; - node_id?: string; - git_pull_url?: string; - git_push_url?: string; - html_url?: string; - files?: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - truncated?: boolean; - content?: string; - } | null; - }; - public?: boolean; - created_at?: string; - updated_at?: string; - description?: string | null; - comments?: number; - user?: string | null; - comments_url?: string; - owner?: components["schemas"]["simple-user"]; - truncated?: boolean; - }; - /** - * Gist Comment - * @description A comment made to a gist. - */ - "gist-comment": { - /** @example 1 */ - id: number; - /** @example MDExOkdpc3RDb21tZW50MQ== */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 - */ - url: string; - /** - * @description The comment text. - * @example Body of the attachment - */ - body: string; - user: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2011-04-18T23:23:56Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-18T23:23:56Z - */ - updated_at: string; - author_association: components["schemas"]["author-association"]; - }; - /** - * Gist Commit - * @description Gist Commit - */ - "gist-commit": { - /** - * Format: uri - * @example https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f - */ - url: string; - /** @example 57a7f021a713b1c5a6a199b54cc514735d2d462f */ - version: string; - user: components["schemas"]["nullable-simple-user"]; - change_status: { - total?: number; - additions?: number; - deletions?: number; - }; - /** - * Format: date-time - * @example 2010-04-14T02:15:15Z - */ - committed_at: string; - }; - /** - * Gitignore Template - * @description Gitignore Template - */ - "gitignore-template": { - /** @example C */ - name: string; - /** - * @example # Object files - * *.o - * - * # Libraries - * *.lib - * *.a - * - * # Shared objects (inc. Windows DLLs) - * *.dll - * *.so - * *.so.* - * *.dylib - * - * # Executables - * *.exe - * *.out - * *.app - */ - source: string; - }; - /** - * License Simple - * @description License Simple - */ - "license-simple": { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** - * Format: uri - * @example https://api.github.com/licenses/mit - */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - }; - /** - * License - * @description License - */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** @example MIT */ - spdx_id: string | null; - /** - * Format: uri - * @example https://api.github.com/licenses/mit - */ - url: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** - * Format: uri - * @example http://choosealicense.com/licenses/mit/ - */ - html_url: string; - /** @example A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty. */ - description: string; - /** @example Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. */ - implementation: string; - /** - * @example [ - * "commercial-use", - * "modifications", - * "distribution", - * "sublicense", - * "private-use" - * ] - */ - permissions: string[]; - /** - * @example [ - * "include-copyright" - * ] - */ - conditions: string[]; - /** - * @example [ - * "no-liability" - * ] - */ - limitations: string[]; - /** - * @example - * - * The MIT License (MIT) - * - * Copyright (c) [year] [fullname] - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - body: string; - /** @example true */ - featured: boolean; - }; - /** - * Marketplace Listing Plan - * @description Marketplace Listing Plan - */ - "marketplace-listing-plan": { - /** - * Format: uri - * @example https://api.github.com/marketplace_listing/plans/1313 - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/marketplace_listing/plans/1313/accounts - */ - accounts_url: string; - /** @example 1313 */ - id: number; - /** @example 3 */ - number: number; - /** @example Pro */ - name: string; - /** @example A professional-grade CI solution */ - description: string; - /** @example 1099 */ - monthly_price_in_cents: number; - /** @example 11870 */ - yearly_price_in_cents: number; - /** - * @example FLAT_RATE - * @enum {string} - */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - /** @example true */ - has_free_trial: boolean; - unit_name: string | null; - /** @example published */ - state: string; - /** - * @example [ - * "Up to 25 private repositories", - * "11 concurrent builds" - * ] - */ - bullets: string[]; - }; - /** - * Marketplace Purchase - * @description Marketplace Purchase - */ - "marketplace-purchase": { - url: string; - type: string; - id: number; - login: string; - organization_billing_email?: string; - email?: string | null; - marketplace_pending_change?: { - is_installed?: boolean; - effective_date?: string; - unit_count?: number | null; - id?: number; - plan?: components["schemas"]["marketplace-listing-plan"]; - } | null; - marketplace_purchase: { - billing_cycle?: string; - next_billing_date?: string | null; - is_installed?: boolean; - unit_count?: number | null; - on_free_trial?: boolean; - free_trial_ends_on?: string | null; - updated_at?: string; - plan?: components["schemas"]["marketplace-listing-plan"]; - }; - }; - /** - * Api Overview - * @description Api Overview - */ - "api-overview": { - /** @example true */ - verifiable_password_authentication: boolean; - ssh_key_fingerprints?: { - SHA256_RSA?: string; - SHA256_DSA?: string; - SHA256_ECDSA?: string; - SHA256_ED25519?: string; - }; - /** - * @example [ - * "ssh-ed25519 ABCDEFGHIJKLMNOPQRSTUVWXYZ" - * ] - */ - ssh_keys?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - hooks?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - github_enterprise_importer?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - web?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - api?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - git?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - packages?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - pages?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - importer?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - actions?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - dependabot?: string[]; - domains?: { - website?: string[]; - codespaces?: string[]; - copilot?: string[]; - packages?: string[]; - }; - }; - "security-and-analysis": { - advanced_security?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - /** @description Enable or disable Dependabot security updates for the repository. */ - dependabot_security_updates?: { - /** - * @description The enablement status of Dependabot security updates for the repository. - * @enum {string} - */ - status?: "enabled" | "disabled"; - }; - secret_scanning?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_push_protection?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - } | null; - /** - * Minimal Repository - * @description Minimal Repository - */ - "minimal-repository": { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - has_discussions?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - code_of_conduct?: components["schemas"]["code-of-conduct"]; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - /** - * Thread - * @description Thread - */ - thread: { - id: string; - repository: components["schemas"]["minimal-repository"]; - subject: { - title: string; - url: string; - latest_comment_url: string; - type: string; - }; - reason: string; - unread: boolean; - updated_at: string; - last_read_at: string | null; - url: string; - /** @example https://api.github.com/notifications/threads/2/subscription */ - subscription_url: string; - }; - /** - * Thread Subscription - * @description Thread Subscription - */ - "thread-subscription": { - /** @example true */ - subscribed: boolean; - ignored: boolean; - reason: string | null; - /** - * Format: date-time - * @example 2012-10-06T21:34:12Z - */ - created_at: string | null; - /** - * Format: uri - * @example https://api.github.com/notifications/threads/1/subscription - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/notifications/threads/1 - */ - thread_url?: string; - /** - * Format: uri - * @example https://api.github.com/repos/1 - */ - repository_url?: string; - }; - /** - * Organization Simple - * @description A GitHub organization. - */ - "organization-simple": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - }; - /** - * Organization Full - * @description Organization Full - */ - "organization-full": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** - * Format: uri - * @example https://github.com/blog - */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** - * Format: email - * @example octocat@github.com - */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** - * Format: email - * @example org@example.com - */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** - * @description Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @description Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to - * this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependabot security updates are automatically enabled for new repositories and repositories transferred - * to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependency graph is automatically enabled for new repositories and repositories transferred to this - * organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning is automatically enabled for new repositories and repositories transferred to this - * organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning push protection is automatically enabled for new repositories and repositories - * transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** - * @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. - * @example false - */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** - * @description An optional URL string to display to contributors who are blocked from pushing a secret. - * @example https://github.com/test-org/test-repo/blob/main/README.md - */ - secret_scanning_push_protection_custom_link?: string | null; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - archived_at: string | null; - }; - "actions-cache-usage-org-enterprise": { - /** @description The count of active caches across all repositories of an enterprise or an organization. */ - total_active_caches_count: number; - /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ - total_active_caches_size_in_bytes: number; - }; - /** - * Actions Cache Usage by repository - * @description GitHub Actions Cache Usage by repository. - */ - "actions-cache-usage-by-repository": { - /** - * @description The repository owner and name for the cache usage being shown. - * @example octo-org/Hello-World - */ - full_name: string; - /** - * @description The sum of the size in bytes of all the active cache items in the repository. - * @example 2322142 - */ - active_caches_size_in_bytes: number; - /** - * @description The number of active caches in the repository. - * @example 3 - */ - active_caches_count: number; - }; - /** - * Actions OIDC Subject customization - * @description Actions OIDC Subject customization - */ - "oidc-custom-sub": { - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys: string[]; - }; - /** - * Empty Object - * @description An object without any properties. - */ - "empty-object": Record; - /** - * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. - * @enum {string} - */ - "enabled-repositories": "all" | "none" | "selected"; - /** - * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. - * @enum {string} - */ - "allowed-actions": "all" | "local_only" | "selected"; - /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ - "selected-actions-url": string; - "actions-organization-permissions": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ - selected_repositories_url?: string; - allowed_actions?: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; - }; - "selected-actions": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed?: boolean; - /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ - verified_allowed?: boolean; - /** - * @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`. - * - * **Note**: The `patterns_allowed` setting only applies to public repositories. - */ - patterns_allowed?: string[]; - }; - /** - * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. - * @enum {string} - */ - "actions-default-workflow-permissions": "read" | "write"; - /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ - "actions-can-approve-pull-request-reviews": boolean; - "actions-get-default-workflow-permissions": { - default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; - can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; - }; - "actions-set-default-workflow-permissions": { - default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; - can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; - }; - /** - * Self hosted runner label - * @description A label for a self hosted runner - */ - "runner-label": { - /** @description Unique identifier of the label. */ - id?: number; - /** @description Name of the label. */ - name: string; - /** - * @description The type of label. Read-only labels are applied automatically when the runner is configured. - * @enum {string} - */ - type?: "read-only" | "custom"; - }; - /** - * Self hosted runners - * @description A self hosted runner - */ - runner: { - /** - * @description The id of the runner. - * @example 5 - */ - id: number; - /** - * @description The id of the runner group. - * @example 1 - */ - runner_group_id?: number; - /** - * @description The name of the runner. - * @example iMac - */ - name: string; - /** - * @description The Operating System of the runner. - * @example macos - */ - os: string; - /** - * @description The status of the runner. - * @example online - */ - status: string; - busy: boolean; - labels: components["schemas"]["runner-label"][]; - }; - /** - * Runner Application - * @description Runner Application - */ - "runner-application": { - os: string; - architecture: string; - download_url: string; - filename: string; - /** @description A short lived bearer token used to download the runner, if needed. */ - temp_download_token?: string; - sha256_checksum?: string; - }; - /** - * Authentication Token - * @description Authentication Token - */ - "authentication-token": { - /** - * @description The token used for authentication - * @example v1.1f699f1069f60xxx - */ - token: string; - /** - * Format: date-time - * @description The time this token expires - * @example 2016-07-11T22:14:10Z - */ - expires_at: string; - /** - * @example { - * "issues": "read", - * "deployments": "write" - * } - */ - permissions?: Record; - /** @description The repositories this token has access to */ - repositories?: components["schemas"]["repository"][]; - /** @example config.yaml */ - single_file?: string | null; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection?: "all" | "selected"; - }; - /** - * Actions Secret for an Organization - * @description Secrets for GitHub Actions for an organization. - */ - "organization-actions-secret": { - /** - * @description The name of the secret. - * @example SECRET_TOKEN - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description Visibility of a secret - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @example https://api.github.com/organizations/org/secrets/my_secret/repositories - */ - selected_repositories_url?: string; - }; - /** - * ActionsPublicKey - * @description The public key used for setting Actions Secrets. - */ - "actions-public-key": { - /** - * @description The identifier for the key. - * @example 1234567 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= - */ - key: string; - /** @example 2 */ - id?: number; - /** @example https://api.github.com/user/keys/2 */ - url?: string; - /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ - title?: string; - /** @example 2011-01-26T19:01:12Z */ - created_at?: string; - }; - /** - * Actions Variable for an Organization - * @description Organization variable for GitHub Actions. - */ - "organization-actions-variable": { - /** - * @description The name of the variable. - * @example USERNAME - */ - name: string; - /** - * @description The value of the variable. - * @example octocat - */ - value: string; - /** - * Format: date-time - * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - updated_at: string; - /** - * @description Visibility of a variable - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @example https://api.github.com/organizations/org/variables/USERNAME/repositories - */ - selected_repositories_url?: string; - }; - /** @description The name of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-name": string; - /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ - "code-scanning-analysis-tool-guid": string | null; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-state-query": - | "open" - | "closed" - | "dismissed" - | "fixed"; - /** - * @description Severity of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-severity": - | "critical" - | "high" - | "medium" - | "low" - | "warning" - | "note" - | "error"; - /** - * Format: uri - * @description The REST API URL for fetching the list of instances for an alert. - */ - readonly "alert-instances-url": string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-state": "open" | "dismissed" | "fixed"; - /** - * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. - * @enum {string|null} - */ - "code-scanning-alert-dismissed-reason": - | null - | "false positive" - | "won't fix" - | "used in tests"; - /** @description The dismissal comment associated with the dismissal of the alert. */ - "code-scanning-alert-dismissed-comment": string | null; - "code-scanning-alert-rule": { - /** @description A unique identifier for the rule used to detect the alert. */ - id?: string | null; - /** @description The name of the rule used to detect the alert. */ - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity?: "none" | "note" | "warning" | "error" | null; - /** - * @description The security severity of the alert. - * @enum {string|null} - */ - security_severity_level?: "low" | "medium" | "high" | "critical" | null; - /** @description A short description of the rule used to detect the alert. */ - description?: string; - /** @description description of the rule used to detect the alert. */ - full_description?: string; - /** @description A set of tags applicable for the rule. */ - tags?: string[] | null; - /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - }; - /** @description The version of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-version": string | null; - "code-scanning-analysis-tool": { - name?: components["schemas"]["code-scanning-analysis-tool-name"]; - version?: components["schemas"]["code-scanning-analysis-tool-version"]; - guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; - }; - /** - * @description The full Git reference, formatted as `refs/heads/`, - * `refs/pull//merge`, or `refs/pull//head`. - */ - "code-scanning-ref": string; - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - "code-scanning-analysis-analysis-key": string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - "code-scanning-alert-environment": string; - /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ - "code-scanning-analysis-category": string; - /** @description Describe a region within a file for the alert. */ - "code-scanning-alert-location": { - path?: string; - start_line?: number; - end_line?: number; - start_column?: number; - end_column?: number; - }; - /** - * @description A classification of the file. For example to identify it as generated. - * @enum {string|null} - */ - "code-scanning-alert-classification": - | "source" - | "generated" - | "test" - | "library" - | null; - "code-scanning-alert-instance": { - ref?: components["schemas"]["code-scanning-ref"]; - analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment?: components["schemas"]["code-scanning-alert-environment"]; - category?: components["schemas"]["code-scanning-analysis-category"]; - state?: components["schemas"]["code-scanning-alert-state"]; - commit_sha?: string; - message?: { - text?: string; - }; - location?: components["schemas"]["code-scanning-alert-location"]; - html_url?: string; - /** - * @description Classifications that have been applied to the file that triggered the alert. - * For example identifying it as documentation, or a generated file. - */ - classifications?: components["schemas"]["code-scanning-alert-classification"][]; - }; - "code-scanning-organization-alert-items": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - repository: components["schemas"]["simple-repository"]; - }; - /** - * Codespace machine - * @description A description of the machine powering a codespace. - */ - "nullable-codespace-machine": { - /** - * @description The name of the machine. - * @example standardLinux - */ - name: string; - /** - * @description The display name of the machine includes cores, memory, and storage. - * @example 4 cores, 16 GB RAM, 64 GB storage - */ - display_name: string; - /** - * @description The operating system of the machine. - * @example linux - */ - operating_system: string; - /** - * @description How much storage is available to the codespace. - * @example 68719476736 - */ - storage_in_bytes: number; - /** - * @description How much memory is available to the codespace. - * @example 17179869184 - */ - memory_in_bytes: number; - /** - * @description How many cores are available to the codespace. - * @example 4 - */ - cpus: number; - /** - * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. - * @example ready - * @enum {string|null} - */ - prebuild_availability: "none" | "ready" | "in_progress" | null; - } | null; - /** - * Codespace - * @description A codespace. - */ - codespace: { - /** @example 1 */ - id: number; - /** - * @description Automatically generated name of this codespace. - * @example monalisa-octocat-hello-world-g4wpq6h95q - */ - name: string; - /** - * @description Display name for this codespace. - * @example bookish space pancake - */ - display_name?: string | null; - /** - * @description UUID identifying this codespace's environment. - * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 - */ - environment_id: string | null; - owner: components["schemas"]["simple-user"]; - billable_owner: components["schemas"]["simple-user"]; - repository: components["schemas"]["minimal-repository"]; - machine: components["schemas"]["nullable-codespace-machine"]; - /** - * @description Path to devcontainer.json from repo root used to create Codespace. - * @example .devcontainer/example/devcontainer.json - */ - devcontainer_path?: string | null; - /** - * @description Whether the codespace was created from a prebuild. - * @example false - */ - prebuild: boolean | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - updated_at: string; - /** - * Format: date-time - * @description Last known time this codespace was started. - * @example 2011-01-26T19:01:12Z - */ - last_used_at: string; - /** - * @description State of this codespace. - * @example Available - * @enum {string} - */ - state: - | "Unknown" - | "Created" - | "Queued" - | "Provisioning" - | "Available" - | "Awaiting" - | "Unavailable" - | "Deleted" - | "Moved" - | "Shutdown" - | "Archived" - | "Starting" - | "ShuttingDown" - | "Failed" - | "Exporting" - | "Updating" - | "Rebuilding"; - /** - * Format: uri - * @description API URL for this codespace. - */ - url: string; - /** @description Details about the codespace's git repository. */ - git_status: { - /** - * @description The number of commits the local repository is ahead of the remote. - * @example 0 - */ - ahead?: number; - /** - * @description The number of commits the local repository is behind the remote. - * @example 0 - */ - behind?: number; - /** @description Whether the local repository has unpushed changes. */ - has_unpushed_changes?: boolean; - /** @description Whether the local repository has uncommitted changes. */ - has_uncommitted_changes?: boolean; - /** - * @description The current branch (or SHA if in detached HEAD state) of the local repository. - * @example main - */ - ref?: string; - }; - /** - * @description The initally assigned location of a new codespace. - * @example WestUs2 - * @enum {string} - */ - location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; - /** - * @description The number of minutes of inactivity after which this codespace will be automatically stopped. - * @example 60 - */ - idle_timeout_minutes: number | null; - /** - * Format: uri - * @description URL to access this codespace on the web. - */ - web_url: string; - /** - * Format: uri - * @description API URL to access available alternate machine types for this codespace. - */ - machines_url: string; - /** - * Format: uri - * @description API URL to start this codespace. - */ - start_url: string; - /** - * Format: uri - * @description API URL to stop this codespace. - */ - stop_url: string; - /** - * Format: uri - * @description API URL to publish this codespace to a new repository. - */ - publish_url?: string | null; - /** - * Format: uri - * @description API URL for the Pull Request associated with this codespace, if any. - */ - pulls_url: string | null; - recent_folders: string[]; - runtime_constraints?: { - /** @description The privacy settings a user can select from when forwarding a port. */ - allowed_port_privacy_settings?: string[] | null; - }; - /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ - pending_operation?: boolean | null; - /** @description Text to show user when codespace is disabled by a pending operation */ - pending_operation_disabled_reason?: string | null; - /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ - idle_timeout_notice?: string | null; - /** - * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). - * @example 60 - */ - retention_period_minutes?: number | null; - /** - * Format: date-time - * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" - * @example 2011-01-26T20:01:12Z - */ - retention_expires_at?: string | null; - /** - * @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. - * @example you've used 100% of your spending limit for Codespaces - */ - last_known_stop_notice?: string | null; - }; - /** - * Codespaces Secret - * @description Secrets for a GitHub Codespace. - */ - "codespaces-org-secret": { - /** - * @description The name of the secret - * @example SECRET_NAME - */ - name: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description The type of repositories in the organization that the secret is visible to - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to can be retrieved - * @example https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories - */ - selected_repositories_url?: string; - }; - /** - * CodespacesPublicKey - * @description The public key used for setting Codespaces secrets. - */ - "codespaces-public-key": { - /** - * @description The identifier for the key. - * @example 1234567 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= - */ - key: string; - /** @example 2 */ - id?: number; - /** @example https://api.github.com/user/keys/2 */ - url?: string; - /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ - title?: string; - /** @example 2011-01-26T19:01:12Z */ - created_at?: string; - }; - /** - * Copilot for Business Seat Breakdown - * @description The breakdown of Copilot for Business seats for the organization. - */ - "copilot-seat-breakdown": { - /** @description The total number of seats being billed for the organization as of the current billing cycle. */ - total?: number; - /** @description Seats added during the current billing cycle. */ - added_this_cycle?: number; - /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ - pending_cancellation?: number; - /** @description The number of seats that have been assigned to users that have not yet accepted an invitation to this organization. */ - pending_invitation?: number; - /** @description The number of seats that have used Copilot during the current billing cycle. */ - active_this_cycle?: number; - /** @description The number of seats that have not used Copilot during the current billing cycle. */ - inactive_this_cycle?: number; - }; - /** - * Copilot for Business Organization Details - * @description Information about the seat breakdown and policies set for an organization with a Copilot for Business subscription. - */ - "copilot-organization-details": { - seat_breakdown: components["schemas"]["copilot-seat-breakdown"]; - /** - * @description The organization policy for allowing or disallowing Copilot to make suggestions that match public code. - * @enum {string} - */ - public_code_suggestions: "allow" | "block" | "unconfigured" | "unknown"; - /** - * @description The mode of assigning new seats. - * @enum {string} - */ - seat_management_setting: - | "assign_all" - | "assign_selected" - | "disabled" - | "unconfigured"; - [key: string]: unknown; - }; - /** - * Team Simple - * @description Groups of organization members that gives permissions on specified repositories. - */ - "nullable-team-simple": { - /** - * @description Unique identifier of the team - * @example 1 - */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** - * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 - */ - url: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** - * @description Name of the team - * @example Justice League - */ - name: string; - /** - * @description Description of the team - * @example A great team. - */ - description: string | null; - /** - * @description Permission that the team will have for its repositories - * @example admin - */ - permission: string; - /** - * @description The level of privacy this team should have - * @example closed - */ - privacy?: string; - /** - * @description The notification setting the team has set - * @example notifications_enabled - */ - notification_setting?: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos - */ - repositories_url: string; - /** @example justice-league */ - slug: string; - /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com - */ - ldap_dn?: string; - } | null; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - id: number; - node_id: string; - name: string; - slug: string; - description: string | null; - privacy?: string; - notification_setting?: string; - permission: string; - permissions?: { - pull: boolean; - triage: boolean; - push: boolean; - maintain: boolean; - admin: boolean; - }; - /** Format: uri */ - url: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - members_url: string; - /** Format: uri */ - repositories_url: string; - parent: components["schemas"]["nullable-team-simple"]; - }; - /** - * Organization - * @description GitHub account for managing multiple users, teams, and repositories - */ - organization: { - /** - * @description Unique login name of the organization - * @example new-org - */ - login: string; - /** - * Format: uri - * @description URL for the organization - * @example https://api.github.com/orgs/github - */ - url: string; - id: number; - node_id: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string | null; - /** - * Format: uri - * @description Display blog url for the organization - * @example blog.example-org.com - */ - blog?: string; - /** Format: uri */ - html_url: string; - /** - * @description Display name for the organization - * @example New Org - */ - name?: string; - /** - * @description Display company name for the organization - * @example Acme corporation - */ - company?: string; - /** - * @description Display location for the organization - * @example Berlin, Germany - */ - location?: string; - /** - * Format: email - * @description Display email for the organization - * @example org@example.com - */ - email?: string; - /** @description Specifies if organization projects are enabled for this org */ - has_organization_projects: boolean; - /** @description Specifies if repository projects are enabled for repositories that belong to this org */ - has_repository_projects: boolean; - is_verified?: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - type: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - plan?: { - name?: string; - space?: number; - private_repos?: number; - filled_seats?: number; - seats?: number; - }; - }; - /** - * Copilot for Business Seat Detail - * @description Information about a Copilot for Business seat assignment for a user, team, or organization. - */ - "copilot-seat-details": { - /** - * @description The assignee that has been granted access to GitHub Copilot. - * @enum {object} - */ - assignee: { - [key: string]: unknown; - } & ( - | components["schemas"]["simple-user"] - | components["schemas"]["team"] - | components["schemas"]["organization"] - ); - /** @description The team that granted access to GitHub Copilot to the assignee. This will be null if the user was assigned a seat individually. */ - assigning_team?: components["schemas"]["team"] | null; - /** - * Format: date - * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. - */ - pending_cancellation_date?: string | null; - /** - * Format: date-time - * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. - */ - last_activity_at?: string | null; - /** @description Last editor that was used by the user for a GitHub Copilot completion. */ - last_activity_editor?: string | null; - /** - * Format: date-time - * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. - */ - created_at: string; - /** - * Format: date-time - * @description Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. - */ - updated_at?: string; - }; - /** - * Dependabot Secret for an Organization - * @description Secrets for GitHub Dependabot for an organization. - */ - "organization-dependabot-secret": { - /** - * @description The name of the secret. - * @example SECRET_TOKEN - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description Visibility of a secret - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @example https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories - */ - selected_repositories_url?: string; - }; - /** - * DependabotPublicKey - * @description The public key used for setting Dependabot Secrets. - */ - "dependabot-public-key": { - /** - * @description The identifier for the key. - * @example 1234567 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= - */ - key: string; - }; - /** - * Minimal Repository - * @description Minimal Repository - */ - "nullable-minimal-repository": { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - has_discussions?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - code_of_conduct?: components["schemas"]["code-of-conduct"]; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - } | null; - /** - * Package - * @description A software package - */ - package: { - /** - * @description Unique identifier of the package. - * @example 1 - */ - id: number; - /** - * @description The name of the package. - * @example super-linter - */ - name: string; - /** - * @example docker - * @enum {string} - */ - package_type: - | "npm" - | "maven" - | "rubygems" - | "docker" - | "nuget" - | "container"; - /** @example https://api.github.com/orgs/github/packages/container/super-linter */ - url: string; - /** @example https://github.com/orgs/github/packages/container/package/super-linter */ - html_url: string; - /** - * @description The number of versions of the package. - * @example 1 - */ - version_count: number; - /** - * @example private - * @enum {string} - */ - visibility: "private" | "public"; - owner?: components["schemas"]["nullable-simple-user"]; - repository?: components["schemas"]["nullable-minimal-repository"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Organization Invitation - * @description Organization Invitation - */ - "organization-invitation": { - id: number; - login: string | null; - email: string | null; - role: string; - created_at: string; - failed_at?: string | null; - failed_reason?: string | null; - inviter: components["schemas"]["simple-user"]; - team_count: number; - /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */ - node_id: string; - /** @example "https://api.github.com/organizations/16/invitations/1/teams" */ - invitation_teams_url: string; - /** @example "member" */ - invitation_source?: string; - }; - /** - * Org Hook - * @description Org Hook - */ - "org-hook": { - /** @example 1 */ - id: number; - /** - * Format: uri - * @example https://api.github.com/orgs/octocat/hooks/1 - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/octocat/hooks/1/pings - */ - ping_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/octocat/hooks/1/deliveries - */ - deliveries_url?: string; - /** @example web */ - name: string; - /** - * @example [ - * "push", - * "pull_request" - * ] - */ - events: string[]; - /** @example true */ - active: boolean; - config: { - /** @example "http://example.com/2" */ - url?: string; - /** @example "0" */ - insecure_ssl?: string; - /** @example "form" */ - content_type?: string; - /** @example "********" */ - secret?: string; - }; - /** - * Format: date-time - * @example 2011-09-06T20:39:23Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2011-09-06T17:26:27Z - */ - created_at: string; - type: string; - }; - /** - * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. - * @example collaborators_only - * @enum {string} - */ - "interaction-group": - | "existing_users" - | "contributors_only" - | "collaborators_only"; - /** - * Interaction Limits - * @description Interaction limit settings. - */ - "interaction-limit-response": { - limit: components["schemas"]["interaction-group"]; - /** @example repository */ - origin: string; - /** - * Format: date-time - * @example 2018-08-17T04:18:39Z - */ - expires_at: string; - }; - /** - * @description The duration of the interaction restriction. Default: `one_day`. - * @example one_month - * @enum {string} - */ - "interaction-expiry": - | "one_day" - | "three_days" - | "one_week" - | "one_month" - | "six_months"; - /** - * Interaction Restrictions - * @description Limit interactions to a specific type of user for a specified duration - */ - "interaction-limit": { - limit: components["schemas"]["interaction-group"]; - expiry?: components["schemas"]["interaction-expiry"]; - }; - /** - * Org Membership - * @description Org Membership - */ - "org-membership": { - /** - * Format: uri - * @example https://api.github.com/orgs/octocat/memberships/defunkt - */ - url: string; - /** - * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. - * @example active - * @enum {string} - */ - state: "active" | "pending"; - /** - * @description The user's membership type in the organization. - * @example admin - * @enum {string} - */ - role: "admin" | "member" | "billing_manager"; - /** - * Format: uri - * @example https://api.github.com/orgs/octocat - */ - organization_url: string; - organization: components["schemas"]["organization-simple"]; - user: components["schemas"]["nullable-simple-user"]; - permissions?: { - can_create_repository: boolean; - }; - }; - /** - * Migration - * @description A migration. - */ - migration: { - /** @example 79 */ - id: number; - owner: components["schemas"]["nullable-simple-user"]; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - guid: string; - /** @example pending */ - state: string; - /** @example true */ - lock_repositories: boolean; - exclude_metadata: boolean; - exclude_git_data: boolean; - exclude_attachments: boolean; - exclude_releases: boolean; - exclude_owner_projects: boolean; - org_metadata_only: boolean; - /** @description The repositories included in the migration. Only returned for export migrations. */ - repositories: components["schemas"]["repository"][]; - /** - * Format: uri - * @example https://api.github.com/orgs/octo-org/migrations/79 - */ - url: string; - /** - * Format: date-time - * @example 2015-07-06T15:33:38-07:00 - */ - created_at: string; - /** - * Format: date-time - * @example 2015-07-06T15:33:38-07:00 - */ - updated_at: string; - node_id: string; - /** Format: uri */ - archive_url?: string; - /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ - exclude?: string[]; - }; - /** - * Package Version - * @description A version of a software package - */ - "package-version": { - /** - * @description Unique identifier of the package version. - * @example 1 - */ - id: number; - /** - * @description The name of the package version. - * @example latest - */ - name: string; - /** @example https://api.github.com/orgs/github/packages/container/super-linter/versions/786068 */ - url: string; - /** @example https://github.com/orgs/github/packages/container/package/super-linter */ - package_html_url: string; - /** @example https://github.com/orgs/github/packages/container/super-linter/786068 */ - html_url?: string; - /** @example MIT */ - license?: string; - description?: string; - /** - * Format: date-time - * @example 2011-04-10T20:09:31Z - */ - created_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - deleted_at?: string; - /** Package Version Metadata */ - metadata?: { - /** - * @example docker - * @enum {string} - */ - package_type: - | "npm" - | "maven" - | "rubygems" - | "docker" - | "nuget" - | "container"; - /** Container Metadata */ - container?: { - tags: string[]; - }; - /** Docker Metadata */ - docker?: { - tag?: string[]; - }; - }; - }; - /** - * Simple Organization Programmatic Access Grant Request - * @description Minimal representation of an organization programmatic access grant request for enumerations - */ - "organization-programmatic-access-grant-request": { - /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ - id: number; - /** @description Reason for requesting access. */ - reason: string | null; - owner: components["schemas"]["simple-user"]; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ - repositories_url: string; - /** @description Permissions requested, categorized by type of permission. */ - permissions: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Organization Programmatic Access Grant - * @description Minimal representation of an organization programmatic access grant for enumerations - */ - "organization-programmatic-access-grant": { - /** @description Unique identifier of the fine-grained personal access token. The `pat_id` used to get details about an approved fine-grained personal access token. */ - id: number; - owner: components["schemas"]["simple-user"]; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ - repositories_url: string; - /** @description Permissions requested, categorized by type of permission. */ - permissions: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ - access_granted_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Project - * @description Projects are a way to organize columns and cards of work. - */ - project: { - /** - * Format: uri - * @example https://api.github.com/repos/api-playground/projects-test - */ - owner_url: string; - /** - * Format: uri - * @example https://api.github.com/projects/1002604 - */ - url: string; - /** - * Format: uri - * @example https://github.com/api-playground/projects-test/projects/12 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/projects/1002604/columns - */ - columns_url: string; - /** @example 1002604 */ - id: number; - /** @example MDc6UHJvamVjdDEwMDI2MDQ= */ - node_id: string; - /** - * @description Name of the project - * @example Week One Sprint - */ - name: string; - /** - * @description Body of the project - * @example This project represents the sprint of the first week in January - */ - body: string | null; - /** @example 1 */ - number: number; - /** - * @description State of the project; either 'open' or 'closed' - * @example open - */ - state: string; - creator: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2011-04-10T20:09:31Z - */ - created_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - updated_at: string; - /** - * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. - * @enum {string} - */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ - private?: boolean; - }; - /** - * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). - * @enum {string} - */ - "repository-rule-enforcement": "disabled" | "active" | "evaluate"; - /** - * Repository Ruleset Bypass Actor - * @description An actor that can bypass rules in a ruleset - */ - "repository-ruleset-bypass-actor": { - /** @description The ID of the actor that can bypass a ruleset */ - actor_id: number; - /** - * @description The type of actor that can bypass a ruleset - * @enum {string} - */ - actor_type: - | "RepositoryRole" - | "Team" - | "Integration" - | "OrganizationAdmin"; - /** - * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. - * @enum {string} - */ - bypass_mode: "always" | "pull_request"; - }; - /** - * Repository ruleset conditions for ref names - * @description Parameters for a repository ruleset ref name condition - */ - "repository-ruleset-conditions": { - ref_name?: { - /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ - include?: string[]; - /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ - exclude?: string[]; - }; - }; - /** - * Repository ruleset conditions for repository names - * @description Parameters for a repository name condition - */ - "repository-ruleset-conditions-repository-name-target": { - repository_name: { - /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ - include?: string[]; - /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ - exclude?: string[]; - /** @description Whether renaming of target repositories is prevented. */ - protected?: boolean; - }; - }; - /** - * Repository ruleset conditions for repository IDs - * @description Parameters for a repository ID condition - */ - "repository-ruleset-conditions-repository-id-target": { - repository_id: { - /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ - repository_ids?: number[]; - }; - }; - /** - * Organization ruleset conditions - * @description Conditions for an organization ruleset. The conditions object should contain both `repository_name` and `ref_name` properties or both `repository_id` and `ref_name` properties. - */ - "org-ruleset-conditions": - | (components["schemas"]["repository-ruleset-conditions"] & - components["schemas"]["repository-ruleset-conditions-repository-name-target"]) - | (components["schemas"]["repository-ruleset-conditions"] & - components["schemas"]["repository-ruleset-conditions-repository-id-target"]); - /** - * creation - * @description Only allow users with bypass permission to create matching refs. - */ - "repository-rule-creation": { - /** @enum {string} */ - type: "creation"; - }; - /** - * update - * @description Only allow users with bypass permission to update matching refs. - */ - "repository-rule-update": { - /** @enum {string} */ - type: "update"; - parameters?: { - /** @description Branch can pull changes from its upstream repository */ - update_allows_fetch_and_merge: boolean; - }; - }; - /** - * deletion - * @description Only allow users with bypass permissions to delete matching refs. - */ - "repository-rule-deletion": { - /** @enum {string} */ - type: "deletion"; - }; - /** - * required_linear_history - * @description Prevent merge commits from being pushed to matching branches. - */ - "repository-rule-required-linear-history": { - /** @enum {string} */ - type: "required_linear_history"; - }; - /** - * required_deployments - * @description Choose which environments must be successfully deployed to before branches can be merged into a branch that matches this rule. - */ - "repository-rule-required-deployments": { - /** @enum {string} */ - type: "required_deployments"; - parameters?: { - /** @description The environments that must be successfully deployed to before branches can be merged. */ - required_deployment_environments: string[]; - }; - }; - /** - * required_signatures - * @description Commits pushed to matching branches must have verified signatures. - */ - "repository-rule-required-signatures": { - /** @enum {string} */ - type: "required_signatures"; - }; - /** - * pull_request - * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. - */ - "repository-rule-pull-request": { - /** @enum {string} */ - type: "pull_request"; - parameters?: { - /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ - dismiss_stale_reviews_on_push: boolean; - /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ - require_code_owner_review: boolean; - /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ - require_last_push_approval: boolean; - /** @description The number of approving reviews that are required before a pull request can be merged. */ - required_approving_review_count: number; - /** @description All conversations on code must be resolved before a pull request can be merged. */ - required_review_thread_resolution: boolean; - }; - }; - /** - * StatusCheckConfiguration - * @description Required status check - */ - "repository-rule-params-status-check-configuration": { - /** @description The status check context name that must be present on the commit. */ - context: string; - /** @description The optional integration ID that this status check must originate from. */ - integration_id?: number; - }; - /** - * required_status_checks - * @description Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a branch that matches this rule after status checks have passed. - */ - "repository-rule-required-status-checks": { - /** @enum {string} */ - type: "required_status_checks"; - parameters?: { - /** @description Status checks that are required. */ - required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; - /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ - strict_required_status_checks_policy: boolean; - }; - }; - /** - * non_fast_forward - * @description Prevent users with push access from force pushing to branches. - */ - "repository-rule-non-fast-forward": { - /** @enum {string} */ - type: "non_fast_forward"; - }; - /** - * commit_message_pattern - * @description Parameters to be used for the commit_message_pattern rule - */ - "repository-rule-commit-message-pattern": { - /** @enum {string} */ - type: "commit_message_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * commit_author_email_pattern - * @description Parameters to be used for the commit_author_email_pattern rule - */ - "repository-rule-commit-author-email-pattern": { - /** @enum {string} */ - type: "commit_author_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * committer_email_pattern - * @description Parameters to be used for the committer_email_pattern rule - */ - "repository-rule-committer-email-pattern": { - /** @enum {string} */ - type: "committer_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * branch_name_pattern - * @description Parameters to be used for the branch_name_pattern rule - */ - "repository-rule-branch-name-pattern": { - /** @enum {string} */ - type: "branch_name_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * tag_name_pattern - * @description Parameters to be used for the tag_name_pattern rule - */ - "repository-rule-tag-name-pattern": { - /** @enum {string} */ - type: "tag_name_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} - */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * Repository Rule - * @description A repository rule. - */ - "repository-rule": - | components["schemas"]["repository-rule-creation"] - | components["schemas"]["repository-rule-update"] - | components["schemas"]["repository-rule-deletion"] - | components["schemas"]["repository-rule-required-linear-history"] - | components["schemas"]["repository-rule-required-deployments"] - | components["schemas"]["repository-rule-required-signatures"] - | components["schemas"]["repository-rule-pull-request"] - | components["schemas"]["repository-rule-required-status-checks"] - | components["schemas"]["repository-rule-non-fast-forward"] - | components["schemas"]["repository-rule-commit-message-pattern"] - | components["schemas"]["repository-rule-commit-author-email-pattern"] - | components["schemas"]["repository-rule-committer-email-pattern"] - | components["schemas"]["repository-rule-branch-name-pattern"] - | components["schemas"]["repository-rule-tag-name-pattern"]; - /** - * Repository ruleset - * @description A set of rules to apply when specified conditions are met. - */ - "repository-ruleset": { - /** @description The ID of the ruleset */ - id: number; - /** @description The name of the ruleset */ - name: string; - /** - * @description The target of the ruleset - * @enum {string} - */ - target?: "branch" | "tag"; - /** - * @description The type of the source of the ruleset - * @enum {string} - */ - source_type?: "Repository" | "Organization"; - /** @description The name of the source */ - source: string; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - /** - * @description The bypass type of the user making the API request for this ruleset. This field is only returned when - * querying the repository-level endpoint. - * @enum {string} - */ - current_user_can_bypass?: "always" | "pull_requests_only" | "never"; - node_id?: string; - _links?: { - self?: { - /** @description The URL of the ruleset */ - href?: string; - }; - html?: { - /** @description The html URL of the ruleset */ - href?: string; - }; - }; - conditions?: - | components["schemas"]["repository-ruleset-conditions"] - | components["schemas"]["org-ruleset-conditions"]; - rules?: components["schemas"]["repository-rule"][]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - "repository-advisory-vulnerability": { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name: string | null; - } | null; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions: string[] | null; - }; - /** @description A credit given to a user for a repository security advisory. */ - "repository-advisory-credit": { - user: components["schemas"]["simple-user"]; - type: components["schemas"]["security-advisory-credit-types"]; - /** - * @description The state of the user's acceptance of the credit. - * @enum {string} - */ - state: "accepted" | "declined" | "pending"; - }; - /** @description A repository security advisory. */ - "repository-advisory": { - /** @description The GitHub Security Advisory ID. */ - ghsa_id: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id: string | null; - /** @description The API URL for the advisory. */ - url: string; - /** - * Format: uri - * @description The URL for the advisory. - */ - html_url: string; - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory entails. */ - description: string | null; - /** - * @description The severity of the advisory. - * @enum {string|null} - */ - severity: "critical" | "high" | "medium" | "low" | null; - /** @description The author of the advisory. */ - author: components["schemas"]["simple-user"] | null; - /** @description The publisher of the advisory. */ - publisher: components["schemas"]["simple-user"] | null; - identifiers: readonly { - /** - * @description The type of identifier. - * @enum {string} - */ - type: "CVE" | "GHSA"; - /** @description The identifier value. */ - value: string; - }[]; - /** - * @description The state of the advisory. - * @enum {string} - */ - state: "published" | "closed" | "withdrawn" | "draft" | "triage"; - /** - * Format: date-time - * @description The date and time of when the advisory was created, in ISO 8601 format. - */ - created_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was last updated, in ISO 8601 format. - */ - updated_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was published, in ISO 8601 format. - */ - published_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was closed, in ISO 8601 format. - */ - closed_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. - */ - withdrawn_at: string | null; - submission: { - /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ - readonly accepted: boolean; - } | null; - vulnerabilities: - | components["schemas"]["repository-advisory-vulnerability"][] - | null; - cvss: { - /** @description The CVSS vector. */ - vector_string: string | null; - /** @description The CVSS score. */ - score: number | null; - } | null; - cwes: - | readonly { - /** @description The Common Weakness Enumeration (CWE) identifier. */ - cwe_id: string; - /** @description The name of the CWE. */ - name: string; - }[] - | null; - /** @description A list of only the CWE IDs. */ - cwe_ids: string[] | null; - credits: - | { - /** @description The username of the user credited. */ - login?: string; - type?: components["schemas"]["security-advisory-credit-types"]; - }[] - | null; - credits_detailed: - | readonly components["schemas"]["repository-advisory-credit"][] - | null; - /** @description A list of users that collaborate on the advisory. */ - collaborating_users: components["schemas"]["simple-user"][] | null; - /** @description A list of teams that collaborate on the advisory. */ - collaborating_teams: components["schemas"]["team"][] | null; - /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ - private_fork: components["schemas"]["simple-repository"] | null; - }; - /** - * Team Simple - * @description Groups of organization members that gives permissions on specified repositories. - */ - "team-simple": { - /** - * @description Unique identifier of the team - * @example 1 - */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** - * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 - */ - url: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** - * @description Name of the team - * @example Justice League - */ - name: string; - /** - * @description Description of the team - * @example A great team. - */ - description: string | null; - /** - * @description Permission that the team will have for its repositories - * @example admin - */ - permission: string; - /** - * @description The level of privacy this team should have - * @example closed - */ - privacy?: string; - /** - * @description The notification setting the team has set - * @example notifications_enabled - */ - notification_setting?: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos - */ - repositories_url: string; - /** @example justice-league */ - slug: string; - /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com - */ - ldap_dn?: string; - }; - "actions-billing-usage": { - /** @description The sum of the free and paid GitHub Actions minutes used. */ - total_minutes_used: number; - /** @description The total paid GitHub Actions minutes used. */ - total_paid_minutes_used: number; - /** @description The amount of free GitHub Actions minutes available. */ - included_minutes: number; - minutes_used_breakdown: { - /** @description Total minutes used on Ubuntu runner machines. */ - UBUNTU?: number; - /** @description Total minutes used on macOS runner machines. */ - MACOS?: number; - /** @description Total minutes used on Windows runner machines. */ - WINDOWS?: number; - /** @description Total minutes used on Ubuntu 4 core runner machines. */ - ubuntu_4_core?: number; - /** @description Total minutes used on Ubuntu 8 core runner machines. */ - ubuntu_8_core?: number; - /** @description Total minutes used on Ubuntu 16 core runner machines. */ - ubuntu_16_core?: number; - /** @description Total minutes used on Ubuntu 32 core runner machines. */ - ubuntu_32_core?: number; - /** @description Total minutes used on Ubuntu 64 core runner machines. */ - ubuntu_64_core?: number; - /** @description Total minutes used on Windows 4 core runner machines. */ - windows_4_core?: number; - /** @description Total minutes used on Windows 8 core runner machines. */ - windows_8_core?: number; - /** @description Total minutes used on Windows 16 core runner machines. */ - windows_16_core?: number; - /** @description Total minutes used on Windows 32 core runner machines. */ - windows_32_core?: number; - /** @description Total minutes used on Windows 64 core runner machines. */ - windows_64_core?: number; - /** @description Total minutes used on macOS 12 core runner machines. */ - macos_12_core?: number; - /** @description Total minutes used on all runner machines. */ - total?: number; - }; - }; - "packages-billing-usage": { - /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ - total_gigabytes_bandwidth_used: number; - /** @description Total paid storage space (GB) for GitHuub Packages. */ - total_paid_gigabytes_bandwidth_used: number; - /** @description Free storage space (GB) for GitHub Packages. */ - included_gigabytes_bandwidth: number; - }; - "combined-billing-usage": { - /** @description Numbers of days left in billing cycle. */ - days_left_in_billing_cycle: number; - /** @description Estimated storage space (GB) used in billing cycle. */ - estimated_paid_storage_for_month: number; - /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ - estimated_storage_for_month: number; - }; - /** - * Team Organization - * @description Team Organization - */ - "team-organization": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** - * Format: uri - * @example https://github.com/blog - */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** - * Format: email - * @example octocat@github.com - */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** - * Format: email - * @example org@example.com - */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - archived_at: string | null; - }; - /** - * Full Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - "team-full": { - /** - * @description Unique identifier of the team - * @example 42 - */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** - * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 - */ - url: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - /** - * @description Name of the team - * @example Developers - */ - name: string; - /** @example justice-league */ - slug: string; - /** @example A great team. */ - description: string | null; - /** - * @description The level of privacy this team should have - * @example closed - * @enum {string} - */ - privacy?: "closed" | "secret"; - /** - * @description The notification setting the team has set - * @example notifications_enabled - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description Permission that the team will have for its repositories - * @example push - */ - permission: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos - */ - repositories_url: string; - parent?: components["schemas"]["nullable-team-simple"]; - /** @example 3 */ - members_count: number; - /** @example 10 */ - repos_count: number; - /** - * Format: date-time - * @example 2017-07-14T16:53:42Z - */ - created_at: string; - /** - * Format: date-time - * @example 2017-08-17T12:37:15Z - */ - updated_at: string; - organization: components["schemas"]["team-organization"]; - /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com - */ - ldap_dn?: string; - }; - /** - * Team Discussion - * @description A team discussion is a persistent record of a free-form conversation within a team. - */ - "team-discussion": { - author: components["schemas"]["nullable-simple-user"]; - /** - * @description The main text of the discussion. - * @example Please suggest improvements to our workflow in comments. - */ - body: string; - /** @example

Hi! This is an area for us to collaborate as a team

*/ - body_html: string; - /** - * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. - * @example 0307116bbf7ced493b8d8a346c650b71 - */ - body_version: string; - /** @example 0 */ - comments_count: number; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments - */ - comments_url: string; - /** - * Format: date-time - * @example 2018-01-25T18:56:31Z - */ - created_at: string; - /** Format: date-time */ - last_edited_at: string | null; - /** - * Format: uri - * @example https://github.com/orgs/github/teams/justice-league/discussions/1 - */ - html_url: string; - /** @example MDE0OlRlYW1EaXNjdXNzaW9uMQ== */ - node_id: string; - /** - * @description The unique sequence number of a team discussion. - * @example 42 - */ - number: number; - /** - * @description Whether or not this discussion should be pinned for easy retrieval. - * @example true - */ - pinned: boolean; - /** - * @description Whether or not this discussion should be restricted to team members and organization administrators. - * @example true - */ - private: boolean; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2343027 - */ - team_url: string; - /** - * @description The title of the discussion. - * @example How can we improve our workflow? - */ - title: string; - /** - * Format: date-time - * @example 2018-01-25T18:56:31Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2343027/discussions/1 - */ - url: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Team Discussion Comment - * @description A reply to a discussion within a team. - */ - "team-discussion-comment": { - author: components["schemas"]["nullable-simple-user"]; - /** - * @description The main text of the comment. - * @example I agree with this suggestion. - */ - body: string; - /** @example

Do you like apples?

*/ - body_html: string; - /** - * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. - * @example 0307116bbf7ced493b8d8a346c650b71 - */ - body_version: string; - /** - * Format: date-time - * @example 2018-01-15T23:53:58Z - */ - created_at: string; - /** Format: date-time */ - last_edited_at: string | null; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2403582/discussions/1 - */ - discussion_url: string; - /** - * Format: uri - * @example https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1 - */ - html_url: string; - /** @example MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE= */ - node_id: string; - /** - * @description The unique sequence number of a team discussion comment. - * @example 42 - */ - number: number; - /** - * Format: date-time - * @example 2018-01-15T23:53:58Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1 - */ - url: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Reaction - * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. - */ - reaction: { - /** @example 1 */ - id: number; - /** @example MDg6UmVhY3Rpb24x */ - node_id: string; - user: components["schemas"]["nullable-simple-user"]; - /** - * @description The reaction to use - * @example heart - * @enum {string} - */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - /** - * Format: date-time - * @example 2016-05-20T20:09:31Z - */ - created_at: string; - }; - /** - * Team Membership - * @description Team Membership - */ - "team-membership": { - /** Format: uri */ - url: string; - /** - * @description The role of the user in the team. - * @default member - * @example member - * @enum {string} - */ - role: "member" | "maintainer"; - /** - * @description The state of the user's membership in the team. - * @enum {string} - */ - state: "active" | "pending"; - }; - /** - * Team Project - * @description A team's access to a project. - */ - "team-project": { - owner_url: string; - url: string; - html_url: string; - columns_url: string; - id: number; - node_id: string; - name: string; - body: string | null; - number: number; - state: string; - creator: components["schemas"]["simple-user"]; - created_at: string; - updated_at: string; - /** @description The organization permission for this project. Only present when owner is an organization. */ - organization_permission?: string; - /** @description Whether the project is private or not. Only present when owner is an organization. */ - private?: boolean; - permissions: { - read: boolean; - write: boolean; - admin: boolean; - }; - }; - /** - * Repository - * @description A repository on GitHub. - */ - "nullable-repository": { - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @deprecated - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - /** - * Team Repository - * @description A team's access to a repository. - */ - "team-repository": { - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** @example admin */ - role_name?: string; - owner: components["schemas"]["nullable-simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @example 108 */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: components["schemas"]["nullable-repository"]; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow forking this repo - * @default false - * @example false - */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - * @example false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - }; - /** - * Project Card - * @description Project cards represent a scope of work. - */ - "project-card": { - /** - * Format: uri - * @example https://api.github.com/projects/columns/cards/1478 - */ - url: string; - /** - * @description The project card's ID - * @example 42 - */ - id: number; - /** @example MDExOlByb2plY3RDYXJkMTQ3OA== */ - node_id: string; - /** @example Add payload for delete Project column */ - note: string | null; - creator: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2016-09-05T14:21:06Z - */ - created_at: string; - /** - * Format: date-time - * @example 2016-09-05T14:20:22Z - */ - updated_at: string; - /** - * @description Whether or not the card is archived - * @example false - */ - archived?: boolean; - column_name?: string; - project_id?: string; - /** - * Format: uri - * @example https://api.github.com/projects/columns/367 - */ - column_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/api-playground/projects-test/issues/3 - */ - content_url?: string; - /** - * Format: uri - * @example https://api.github.com/projects/120 - */ - project_url: string; - }; - /** - * Project Column - * @description Project columns contain cards of work. - */ - "project-column": { - /** - * Format: uri - * @example https://api.github.com/projects/columns/367 - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/projects/120 - */ - project_url: string; - /** - * Format: uri - * @example https://api.github.com/projects/columns/367/cards - */ - cards_url: string; - /** - * @description The unique identifier of the project column - * @example 42 - */ - id: number; - /** @example MDEzOlByb2plY3RDb2x1bW4zNjc= */ - node_id: string; - /** - * @description Name of the project column - * @example Remaining tasks - */ - name: string; - /** - * Format: date-time - * @example 2016-09-05T14:18:44Z - */ - created_at: string; - /** - * Format: date-time - * @example 2016-09-05T14:22:28Z - */ - updated_at: string; - }; - /** - * Project Collaborator Permission - * @description Project Collaborator Permission - */ - "project-collaborator-permission": { - permission: string; - user: components["schemas"]["nullable-simple-user"]; - }; - /** Rate Limit */ - "rate-limit": { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** - * Rate Limit Overview - * @description Rate Limit Overview - */ - "rate-limit-overview": { - resources: { - core: components["schemas"]["rate-limit"]; - graphql?: components["schemas"]["rate-limit"]; - search: components["schemas"]["rate-limit"]; - code_search?: components["schemas"]["rate-limit"]; - source_import?: components["schemas"]["rate-limit"]; - integration_manifest?: components["schemas"]["rate-limit"]; - code_scanning_upload?: components["schemas"]["rate-limit"]; - actions_runner_registration?: components["schemas"]["rate-limit"]; - scim?: components["schemas"]["rate-limit"]; - dependency_snapshots?: components["schemas"]["rate-limit"]; - }; - rate: components["schemas"]["rate-limit"]; - }; - /** - * Code Of Conduct Simple - * @description Code of Conduct Simple - */ - "code-of-conduct-simple": { - /** - * Format: uri - * @example https://api.github.com/repos/github/docs/community/code_of_conduct - */ - url: string; - /** @example citizen_code_of_conduct */ - key: string; - /** @example Citizen Code of Conduct */ - name: string; - /** - * Format: uri - * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md - */ - html_url: string | null; - }; - /** - * Full Repository - * @description Full Repository - */ - "full-repository": { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @example true */ - is_template?: boolean; - /** - * @example [ - * "octocat", - * "atom", - * "electron", - * "API" - * ] - */ - topics?: string[]; - /** @example true */ - has_issues: boolean; - /** @example true */ - has_projects: boolean; - /** @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @example true */ - has_downloads: boolean; - /** @example true */ - has_discussions: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @example public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - /** @example true */ - allow_rebase_merge?: boolean; - template_repository?: components["schemas"]["nullable-repository"]; - temp_clone_token?: string | null; - /** @example true */ - allow_squash_merge?: boolean; - /** @example false */ - allow_auto_merge?: boolean; - /** @example false */ - delete_branch_on_merge?: boolean; - /** @example true */ - allow_merge_commit?: boolean; - /** @example true */ - allow_update_branch?: boolean; - /** @example false */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @example PR_TITLE - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @example PR_BODY - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @example PR_TITLE - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @example PR_BODY - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @example true */ - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - /** @example 42 */ - subscribers_count: number; - /** @example 0 */ - network_count: number; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - parent?: components["schemas"]["repository"]; - source?: components["schemas"]["repository"]; - forks: number; - master_branch?: string; - open_issues: number; - watchers: number; - /** - * @description Whether anonymous git access is allowed. - * @default true - */ - anonymous_access_enabled?: boolean; - code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - /** - * Artifact - * @description An artifact - */ - artifact: { - /** @example 5 */ - id: number; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** - * @description The name of the artifact. - * @example AdventureWorks.Framework - */ - name: string; - /** - * @description The size in bytes of the artifact. - * @example 12345 - */ - size_in_bytes: number; - /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5 */ - url: string; - /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip */ - archive_download_url: string; - /** @description Whether or not the artifact has expired. */ - expired: boolean; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - expires_at: string | null; - /** Format: date-time */ - updated_at: string | null; - workflow_run?: { - /** @example 10 */ - id?: number; - /** @example 42 */ - repository_id?: number; - /** @example 42 */ - head_repository_id?: number; - /** @example main */ - head_branch?: string; - /** @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - head_sha?: string; - } | null; - }; - /** - * Repository actions caches - * @description Repository actions caches - */ - "actions-cache-list": { - /** - * @description Total number of caches - * @example 2 - */ - total_count: number; - /** @description Array of caches */ - actions_caches: { - /** @example 2 */ - id?: number; - /** @example refs/heads/main */ - ref?: string; - /** @example Linux-node-958aff96db2d75d67787d1e634ae70b659de937b */ - key?: string; - /** @example 73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0 */ - version?: string; - /** - * Format: date-time - * @example 2019-01-24T22:45:36.000Z - */ - last_accessed_at?: string; - /** - * Format: date-time - * @example 2019-01-24T22:45:36.000Z - */ - created_at?: string; - /** @example 1024 */ - size_in_bytes?: number; - }[]; - }; - /** - * Job - * @description Information of a job execution in a workflow run - */ - job: { - /** - * @description The id of the job. - * @example 21 - */ - id: number; - /** - * @description The id of the associated workflow run. - * @example 5 - */ - run_id: number; - /** @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ - run_url: string; - /** - * @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. - * @example 1 - */ - run_attempt?: number; - /** @example MDg6Q2hlY2tSdW40 */ - node_id: string; - /** - * @description The SHA of the commit that is being run. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** @example https://api.github.com/repos/github/hello-world/actions/jobs/21 */ - url: string; - /** @example https://github.com/github/hello-world/runs/4 */ - html_url: string | null; - /** - * @description The phase of the lifecycle that the job is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** - * @description The outcome of the job. - * @example success - * @enum {string|null} - */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "skipped" - | "timed_out" - | "action_required" - | null; - /** - * Format: date-time - * @description The time that the job created, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - created_at: string; - /** - * Format: date-time - * @description The time that the job started, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - started_at: string; - /** - * Format: date-time - * @description The time that the job finished, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - completed_at: string | null; - /** - * @description The name of the job. - * @example test-coverage - */ - name: string; - /** @description Steps in this job. */ - steps?: { - /** - * @description The phase of the lifecycle that the job is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** - * @description The outcome of the job. - * @example success - */ - conclusion: string | null; - /** - * @description The name of the job. - * @example test-coverage - */ - name: string; - /** @example 1 */ - number: number; - /** - * Format: date-time - * @description The time that the step started, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - started_at?: string | null; - /** - * Format: date-time - * @description The time that the job finished, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - completed_at?: string | null; - }[]; - /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ - check_run_url: string; - /** - * @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. - * @example [ - * "self-hosted", - * "foo", - * "bar" - * ] - */ - labels: string[]; - /** - * @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) - * @example 1 - */ - runner_id: number | null; - /** - * @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) - * @example my runner - */ - runner_name: string | null; - /** - * @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) - * @example 2 - */ - runner_group_id: number | null; - /** - * @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) - * @example my runner group - */ - runner_group_name: string | null; - /** - * @description The name of the workflow. - * @example Build - */ - workflow_name: string | null; - /** - * @description The name of the current branch. - * @example main - */ - head_branch: string | null; - }; - /** - * Actions OIDC subject customization for a repository - * @description Actions OIDC subject customization for a repository - */ - "oidc-custom-sub-repo": { - /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ - use_default: boolean; - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys?: string[]; - }; - /** - * Actions Secret - * @description Set secrets for GitHub Actions. - */ - "actions-secret": { - /** - * @description The name of the secret. - * @example SECRET_TOKEN - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** Actions Variable */ - "actions-variable": { - /** - * @description The name of the variable. - * @example USERNAME - */ - name: string; - /** - * @description The value of the variable. - * @example octocat - */ - value: string; - /** - * Format: date-time - * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - updated_at: string; - }; - /** @description Whether GitHub Actions is enabled on the repository. */ - "actions-enabled": boolean; - "actions-repository-permissions": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; - }; - "actions-workflow-access-to-repository": { - /** - * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the - * repository. - * - * `none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization. - * @enum {string} - */ - access_level: "none" | "user" | "organization"; - }; - /** - * Referenced workflow - * @description A workflow referenced/reused by the initial caller workflow - */ - "referenced-workflow": { - path: string; - sha: string; - ref?: string; - }; - /** Pull Request Minimal */ - "pull-request-minimal": { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }; - /** - * Simple Commit - * @description A commit. - */ - "nullable-simple-commit": { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - id: string; - /** @description SHA for the commit's tree */ - tree_id: string; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - timestamp: string; - /** @description Information about the Git author */ - author: { - /** - * @description Name of the commit's author - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's author - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - /** @description Information about the Git committer */ - committer: { - /** - * @description Name of the commit's committer - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's committer - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - } | null; - /** - * Workflow Run - * @description An invocation of a workflow - */ - "workflow-run": { - /** - * @description The ID of the workflow run. - * @example 5 - */ - id: number; - /** - * @description The name of the workflow run. - * @example Build - */ - name?: string | null; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** - * @description The ID of the associated check suite. - * @example 42 - */ - check_suite_id?: number; - /** - * @description The node ID of the associated check suite. - * @example MDEwOkNoZWNrU3VpdGU0Mg== - */ - check_suite_node_id?: string; - /** @example master */ - head_branch: string | null; - /** - * @description The SHA of the head commit that points to the version of the workflow being run. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** - * @description The full path of the workflow - * @example octocat/octo-repo/.github/workflows/ci.yml@main - */ - path: string; - /** - * @description The auto incrementing run number for the workflow run. - * @example 106 - */ - run_number: number; - /** - * @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. - * @example 1 - */ - run_attempt?: number; - referenced_workflows?: - | components["schemas"]["referenced-workflow"][] - | null; - /** @example push */ - event: string; - /** @example completed */ - status: string | null; - /** @example neutral */ - conclusion: string | null; - /** - * @description The ID of the parent workflow. - * @example 5 - */ - workflow_id: number; - /** - * @description The URL to the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5 - */ - url: string; - /** @example https://github.com/github/hello-world/suites/4 */ - html_url: string; - /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run. */ - pull_requests: components["schemas"]["pull-request-minimal"][] | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - actor?: components["schemas"]["simple-user"]; - triggering_actor?: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The start time of the latest run. Resets on re-run. - */ - run_started_at?: string; - /** - * @description The URL to the jobs for the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs - */ - jobs_url: string; - /** - * @description The URL to download the logs for the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs - */ - logs_url: string; - /** - * @description The URL to the associated check suite. - * @example https://api.github.com/repos/github/hello-world/check-suites/12 - */ - check_suite_url: string; - /** - * @description The URL to the artifacts for the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts - */ - artifacts_url: string; - /** - * @description The URL to cancel the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel - */ - cancel_url: string; - /** - * @description The URL to rerun the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun - */ - rerun_url: string; - /** - * @description The URL to the previous attempted run of this workflow, if one exists. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 - */ - previous_attempt_url?: string | null; - /** - * @description The URL to the workflow. - * @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml - */ - workflow_url: string; - head_commit: components["schemas"]["nullable-simple-commit"]; - repository: components["schemas"]["minimal-repository"]; - head_repository: components["schemas"]["minimal-repository"]; - /** @example 5 */ - head_repository_id?: number; - /** - * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. - * @example Simple Workflow - */ - display_title: string; - }; - /** - * Environment Approval - * @description An entry in the reviews log for environment deployments - */ - "environment-approvals": { - /** @description The list of environments that were approved or rejected */ - environments: { - /** - * @description The id of the environment. - * @example 56780428 - */ - id?: number; - /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ - node_id?: string; - /** - * @description The name of the environment. - * @example staging - */ - name?: string; - /** @example https://api.github.com/repos/github/hello-world/environments/staging */ - url?: string; - /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ - html_url?: string; - /** - * Format: date-time - * @description The time that the environment was created, in ISO 8601 format. - * @example 2020-11-23T22:00:40Z - */ - created_at?: string; - /** - * Format: date-time - * @description The time that the environment was last updated, in ISO 8601 format. - * @example 2020-11-23T22:00:40Z - */ - updated_at?: string; - }[]; - /** - * @description Whether deployment to the environment(s) was approved or rejected or pending (with comments) - * @example approved - * @enum {string} - */ - state: "approved" | "rejected" | "pending"; - user: components["schemas"]["simple-user"]; - /** - * @description The comment submitted with the deployment review - * @example Ship it! - */ - comment: string; - }; - "review-custom-gates-comment-required": { - /** @description The name of the environment to approve or reject. */ - environment_name: string; - /** @description Comment associated with the pending deployment protection rule. **Required when state is not provided.** */ - comment: string; - }; - "review-custom-gates-state-required": { - /** @description The name of the environment to approve or reject. */ - environment_name: string; - /** - * @description Whether to approve or reject deployment to the specified environments. - * @enum {string} - */ - state: "approved" | "rejected"; - /** @description Optional comment to include with the review. */ - comment?: string; - }; - /** - * @description The type of reviewer. - * @example User - * @enum {string} - */ - "deployment-reviewer-type": "User" | "Team"; - /** - * Pending Deployment - * @description Details of a deployment that is waiting for protection rules to pass - */ - "pending-deployment": { - environment: { - /** - * @description The id of the environment. - * @example 56780428 - */ - id?: number; - /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ - node_id?: string; - /** - * @description The name of the environment. - * @example staging - */ - name?: string; - /** @example https://api.github.com/repos/github/hello-world/environments/staging */ - url?: string; - /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ - html_url?: string; - }; - /** - * @description The set duration of the wait timer - * @example 30 - */ - wait_timer: number; - /** - * Format: date-time - * @description The time that the wait timer began. - * @example 2020-11-23T22:00:40Z - */ - wait_timer_started_at: string | null; - /** - * @description Whether the currently authenticated user can approve the deployment - * @example true - */ - current_user_can_approve: boolean; - /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers: { - type?: components["schemas"]["deployment-reviewer-type"]; - reviewer?: - | components["schemas"]["simple-user"] - | components["schemas"]["team"]; - }[]; - }; - /** - * Deployment - * @description A request for a specific ref(branch,sha,tag) to be deployed - */ - deployment: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/1 - */ - url: string; - /** - * @description Unique identifier of the deployment - * @example 42 - */ - id: number; - /** @example MDEwOkRlcGxveW1lbnQx */ - node_id: string; - /** @example a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d */ - sha: string; - /** - * @description The ref to deploy. This can be a branch, tag, or sha. - * @example topic-branch - */ - ref: string; - /** - * @description Parameter to specify a task to execute - * @example deploy - */ - task: string; - payload: OneOf< - [ - { - [key: string]: unknown; - }, - string, - ] - >; - /** @example staging */ - original_environment?: string; - /** - * @description Name for the target deployment environment. - * @example production - */ - environment: string; - /** @example Deploy request from hubot */ - description: string | null; - creator: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - created_at: string; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/1/statuses - */ - statuses_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example - */ - repository_url: string; - /** - * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. - * @example true - */ - transient_environment?: boolean; - /** - * @description Specifies if the given environment is one that end-users directly interact with. Default: false. - * @example true - */ - production_environment?: boolean; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - }; - /** - * Workflow Run Usage - * @description Workflow Run Usage - */ - "workflow-run-usage": { - billable: { - UBUNTU?: { - total_ms: number; - jobs: number; - job_runs?: { - job_id: number; - duration_ms: number; - }[]; - }; - MACOS?: { - total_ms: number; - jobs: number; - job_runs?: { - job_id: number; - duration_ms: number; - }[]; - }; - WINDOWS?: { - total_ms: number; - jobs: number; - job_runs?: { - job_id: number; - duration_ms: number; - }[]; - }; - }; - run_duration_ms?: number; - }; - /** - * Workflow - * @description A GitHub Actions workflow - */ - workflow: { - /** @example 5 */ - id: number; - /** @example MDg6V29ya2Zsb3cxMg== */ - node_id: string; - /** @example CI */ - name: string; - /** @example ruby.yaml */ - path: string; - /** - * @example active - * @enum {string} - */ - state: - | "active" - | "deleted" - | "disabled_fork" - | "disabled_inactivity" - | "disabled_manually"; - /** - * Format: date-time - * @example 2019-12-06T14:20:20.000Z - */ - created_at: string; - /** - * Format: date-time - * @example 2019-12-06T14:20:20.000Z - */ - updated_at: string; - /** @example https://api.github.com/repos/actions/setup-ruby/workflows/5 */ - url: string; - /** @example https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml */ - html_url: string; - /** @example https://github.com/actions/setup-ruby/workflows/CI/badge.svg */ - badge_url: string; - /** - * Format: date-time - * @example 2019-12-06T14:20:20.000Z - */ - deleted_at?: string; - }; - /** - * Workflow Usage - * @description Workflow Usage - */ - "workflow-usage": { - billable: { - UBUNTU?: { - total_ms?: number; - }; - MACOS?: { - total_ms?: number; - }; - WINDOWS?: { - total_ms?: number; - }; - }; - }; - /** - * Activity - * @description Activity - */ - activity: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The SHA of the commit before the activity. - * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - before: string; - /** - * @description The SHA of the commit after the activity. - * @example 827efc6d56897b048c772eb4087f854f46256132 - */ - after: string; - /** - * @description The full Git reference, formatted as `refs/heads/`. - * @example refs/heads/main - */ - ref: string; - /** - * Format: date-time - * @description The time when the activity occurred. - * @example 2011-01-26T19:06:43Z - */ - timestamp: string; - /** - * @description The type of the activity that was performed. - * @example force_push - * @enum {string} - */ - activity_type: - | "push" - | "force_push" - | "branch_deletion" - | "branch_creation" - | "pr_merge" - | "merge_queue_merge"; - actor: components["schemas"]["nullable-simple-user"]; - }; - /** - * Autolink reference - * @description An autolink reference. - */ - autolink: { - /** @example 3 */ - id: number; - /** - * @description The prefix of a key that is linkified. - * @example TICKET- - */ - key_prefix: string; - /** - * @description A template for the target URL that is generated if a key was found. - * @example https://example.com/TICKET?query= - */ - url_template: string; - /** - * @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. - * @example true - */ - is_alphanumeric: boolean; - }; - /** - * Check Automated Security Fixes - * @description Check Automated Security Fixes - */ - "check-automated-security-fixes": { - /** - * @description Whether automated security fixes are enabled for the repository. - * @example true - */ - enabled: boolean; - /** - * @description Whether automated security fixes are paused for the repository. - * @example false - */ - paused: boolean; - }; - /** - * Protected Branch Required Status Check - * @description Protected Branch Required Status Check - */ - "protected-branch-required-status-check": { - url?: string; - enforcement_level?: string; - contexts: string[]; - checks: { - context: string; - app_id: number | null; - }[]; - contexts_url?: string; - strict?: boolean; - }; - /** - * Protected Branch Admin Enforced - * @description Protected Branch Admin Enforced - */ - "protected-branch-admin-enforced": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins - */ - url: string; - /** @example true */ - enabled: boolean; - }; - /** - * Protected Branch Pull Request Review - * @description Protected Branch Pull Request Review - */ - "protected-branch-pull-request-review": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions - */ - url?: string; - dismissal_restrictions?: { - /** @description The list of users with review dismissal access. */ - users?: components["schemas"]["simple-user"][]; - /** @description The list of teams with review dismissal access. */ - teams?: components["schemas"]["team"][]; - /** @description The list of apps with review dismissal access. */ - apps?: components["schemas"]["integration"][]; - /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions" */ - url?: string; - /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users" */ - users_url?: string; - /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams" */ - teams_url?: string; - }; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of users allowed to bypass pull request requirements. */ - users?: components["schemas"]["simple-user"][]; - /** @description The list of teams allowed to bypass pull request requirements. */ - teams?: components["schemas"]["team"][]; - /** @description The list of apps allowed to bypass pull request requirements. */ - apps?: components["schemas"]["integration"][]; - }; - /** @example true */ - dismiss_stale_reviews: boolean; - /** @example true */ - require_code_owner_reviews: boolean; - /** @example 2 */ - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - * @example true - */ - require_last_push_approval?: boolean; - }; - /** - * Branch Restriction Policy - * @description Branch Restriction Policy - */ - "branch-restriction-policy": { - /** Format: uri */ - url: string; - /** Format: uri */ - users_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri */ - apps_url: string; - users: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }[]; - teams: { - id?: number; - node_id?: string; - url?: string; - html_url?: string; - name?: string; - slug?: string; - description?: string | null; - privacy?: string; - notification_setting?: string; - permission?: string; - members_url?: string; - repositories_url?: string; - parent?: string | null; - }[]; - apps: { - id?: number; - slug?: string; - node_id?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - url?: string; - repos_url?: string; - events_url?: string; - hooks_url?: string; - issues_url?: string; - members_url?: string; - public_members_url?: string; - avatar_url?: string; - description?: string; - /** @example "" */ - gravatar_id?: string; - /** @example "https://github.com/testorg-ea8ec76d71c3af4b" */ - html_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers" */ - followers_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}" */ - following_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}" */ - gists_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}" */ - starred_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions" */ - subscriptions_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs" */ - organizations_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events" */ - received_events_url?: string; - /** @example "Organization" */ - type?: string; - /** @example false */ - site_admin?: boolean; - }; - name?: string; - description?: string; - external_url?: string; - html_url?: string; - created_at?: string; - updated_at?: string; - permissions?: { - metadata?: string; - contents?: string; - issues?: string; - single_file?: string; - }; - events?: string[]; - }[]; - }; - /** - * Branch Protection - * @description Branch Protection - */ - "branch-protection": { - url?: string; - enabled?: boolean; - required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; - enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; - required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; - restrictions?: components["schemas"]["branch-restriction-policy"]; - required_linear_history?: { - enabled?: boolean; - }; - allow_force_pushes?: { - enabled?: boolean; - }; - allow_deletions?: { - enabled?: boolean; - }; - block_creations?: { - enabled?: boolean; - }; - required_conversation_resolution?: { - enabled?: boolean; - }; - /** @example "branch/with/protection" */ - name?: string; - /** @example "https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection" */ - protection_url?: string; - required_signatures?: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures - */ - url: string; - /** @example true */ - enabled: boolean; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled?: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - enabled?: boolean; - }; - }; - /** - * Short Branch - * @description Short Branch - */ - "short-branch": { - name: string; - commit: { - sha: string; - /** Format: uri */ - url: string; - }; - protected: boolean; - protection?: components["schemas"]["branch-protection"]; - /** Format: uri */ - protection_url?: string; - }; - /** - * Git User - * @description Metaproperties for Git author/committer information. - */ - "nullable-git-user": { - /** @example "Chris Wanstrath" */ - name?: string; - /** @example "chris@ozmm.org" */ - email?: string; - /** @example "2007-10-29T02:42:39.000-07:00" */ - date?: string; - } | null; - /** Verification */ - verification: { - verified: boolean; - reason: string; - payload: string | null; - signature: string | null; - }; - /** - * Diff Entry - * @description Diff Entry - */ - "diff-entry": { - /** @example bbcd538c8e72b8c175046e27cc8f907076331401 */ - sha: string; - /** @example file1.txt */ - filename: string; - /** - * @example added - * @enum {string} - */ - status: - | "added" - | "removed" - | "modified" - | "renamed" - | "copied" - | "changed" - | "unchanged"; - /** @example 103 */ - additions: number; - /** @example 21 */ - deletions: number; - /** @example 124 */ - changes: number; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt - */ - blob_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt - */ - raw_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - contents_url: string; - /** @example @@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test */ - patch?: string; - /** @example file.txt */ - previous_filename?: string; - }; - /** - * Commit - * @description Commit - */ - commit: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - url: string; - /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ - sha: string; - /** @example MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ== */ - node_id: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments - */ - comments_url: string; - commit: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - url: string; - author: components["schemas"]["nullable-git-user"]; - committer: components["schemas"]["nullable-git-user"]; - /** @example Fix all the bugs */ - message: string; - /** @example 0 */ - comment_count: number; - tree: { - /** @example 827efc6d56897b048c772eb4087f854f46256132 */ - sha: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132 - */ - url: string; - }; - verification?: components["schemas"]["verification"]; - }; - author: components["schemas"]["nullable-simple-user"]; - committer: components["schemas"]["nullable-simple-user"]; - parents: { - /** @example 7638417db6d59f3c431d3e1f261cc637155684cd */ - sha: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd - */ - html_url?: string; - }[]; - stats?: { - additions?: number; - deletions?: number; - total?: number; - }; - files?: components["schemas"]["diff-entry"][]; - }; - /** - * Branch With Protection - * @description Branch With Protection - */ - "branch-with-protection": { - name: string; - commit: components["schemas"]["commit"]; - _links: { - html: string; - /** Format: uri */ - self: string; - }; - protected: boolean; - protection: components["schemas"]["branch-protection"]; - /** Format: uri */ - protection_url: string; - /** @example "mas*" */ - pattern?: string; - /** @example 1 */ - required_approving_review_count?: number; - }; - /** - * Status Check Policy - * @description Status Check Policy - */ - "status-check-policy": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks - */ - url: string; - /** @example true */ - strict: boolean; - /** - * @example [ - * "continuous-integration/travis-ci" - * ] - */ - contexts: string[]; - checks: { - /** @example continuous-integration/travis-ci */ - context: string; - app_id: number | null; - }[]; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts - */ - contexts_url: string; - }; - /** - * Protected Branch - * @description Branch protections protect branches - */ - "protected-branch": { - /** Format: uri */ - url: string; - required_status_checks?: components["schemas"]["status-check-policy"]; - required_pull_request_reviews?: { - /** Format: uri */ - url: string; - dismiss_stale_reviews?: boolean; - require_code_owner_reviews?: boolean; - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - */ - require_last_push_approval?: boolean; - dismissal_restrictions?: { - /** Format: uri */ - url: string; - /** Format: uri */ - users_url: string; - /** Format: uri */ - teams_url: string; - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; - apps?: components["schemas"]["integration"][]; - }; - bypass_pull_request_allowances?: { - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; - apps?: components["schemas"]["integration"][]; - }; - }; - required_signatures?: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures - */ - url: string; - /** @example true */ - enabled: boolean; - }; - enforce_admins?: { - /** Format: uri */ - url: string; - enabled: boolean; - }; - required_linear_history?: { - enabled: boolean; - }; - allow_force_pushes?: { - enabled: boolean; - }; - allow_deletions?: { - enabled: boolean; - }; - restrictions?: components["schemas"]["branch-restriction-policy"]; - required_conversation_resolution?: { - enabled?: boolean; - }; - block_creations?: { - enabled: boolean; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled?: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - enabled?: boolean; - }; - }; - /** - * Deployment - * @description A deployment created as the result of an Actions check run from a workflow that references an environment - */ - "deployment-simple": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/1 - */ - url: string; - /** - * @description Unique identifier of the deployment - * @example 42 - */ - id: number; - /** @example MDEwOkRlcGxveW1lbnQx */ - node_id: string; - /** - * @description Parameter to specify a task to execute - * @example deploy - */ - task: string; - /** @example staging */ - original_environment?: string; - /** - * @description Name for the target deployment environment. - * @example production - */ - environment: string; - /** @example Deploy request from hubot */ - description: string | null; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - created_at: string; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/1/statuses - */ - statuses_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example - */ - repository_url: string; - /** - * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. - * @example true - */ - transient_environment?: boolean; - /** - * @description Specifies if the given environment is one that end-users directly interact with. Default: false. - * @example true - */ - production_environment?: boolean; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - }; - /** - * CheckRun - * @description A check performed on the code of a given code change - */ - "check-run": { - /** - * @description The id of the check. - * @example 21 - */ - id: number; - /** - * @description The SHA of the commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** @example MDg6Q2hlY2tSdW40 */ - node_id: string; - /** @example 42 */ - external_id: string | null; - /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ - url: string; - /** @example https://github.com/github/hello-world/runs/4 */ - html_url: string | null; - /** @example https://example.com */ - details_url: string | null; - /** - * @description The phase of the lifecycle that the check is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** - * @example neutral - * @enum {string|null} - */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "skipped" - | "timed_out" - | "action_required" - | null; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - started_at: string | null; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - completed_at: string | null; - output: { - title: string | null; - summary: string | null; - text: string | null; - annotations_count: number; - /** Format: uri */ - annotations_url: string; - }; - /** - * @description The name of the check. - * @example test-coverage - */ - name: string; - check_suite: { - id: number; - } | null; - app: components["schemas"]["nullable-integration"]; - /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check. */ - pull_requests: components["schemas"]["pull-request-minimal"][]; - deployment?: components["schemas"]["deployment-simple"]; - }; - /** - * Check Annotation - * @description Check Annotation - */ - "check-annotation": { - /** @example README.md */ - path: string; - /** @example 2 */ - start_line: number; - /** @example 2 */ - end_line: number; - /** @example 5 */ - start_column: number | null; - /** @example 10 */ - end_column: number | null; - /** @example warning */ - annotation_level: string | null; - /** @example Spell Checker */ - title: string | null; - /** @example Check your spelling for 'banaas'. */ - message: string | null; - /** @example Do you mean 'bananas' or 'banana'? */ - raw_details: string | null; - blob_href: string; - }; - /** - * Simple Commit - * @description A commit. - */ - "simple-commit": { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - id: string; - /** @description SHA for the commit's tree */ - tree_id: string; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - timestamp: string; - /** @description Information about the Git author */ - author: { - /** - * @description Name of the commit's author - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's author - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - /** @description Information about the Git committer */ - committer: { - /** - * @description Name of the commit's committer - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's committer - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - }; - /** - * CheckSuite - * @description A suite of checks performed on the code of a given code change - */ - "check-suite": { - /** @example 5 */ - id: number; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** @example master */ - head_branch: string | null; - /** - * @description The SHA of the head commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** - * @example completed - * @enum {string|null} - */ - status: "queued" | "in_progress" | "completed" | null; - /** - * @example neutral - * @enum {string|null} - */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "skipped" - | "timed_out" - | "action_required" - | "startup_failure" - | "stale" - | null; - /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ - url: string | null; - /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ - before: string | null; - /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ - after: string | null; - pull_requests: components["schemas"]["pull-request-minimal"][] | null; - app: components["schemas"]["nullable-integration"]; - repository: components["schemas"]["minimal-repository"]; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - updated_at: string | null; - head_commit: components["schemas"]["simple-commit"]; - latest_check_runs_count: number; - check_runs_url: string; - rerequestable?: boolean; - runs_rerequestable?: boolean; - }; - /** - * Check Suite Preference - * @description Check suite configuration preferences for a repository. - */ - "check-suite-preference": { - preferences: { - auto_trigger_checks?: { - app_id: number; - setting: boolean; - }[]; - }; - repository: components["schemas"]["minimal-repository"]; - }; - "code-scanning-alert-rule-summary": { - /** @description A unique identifier for the rule used to detect the alert. */ - id?: string | null; - /** @description The name of the rule used to detect the alert. */ - name?: string; - /** @description A set of tags applicable for the rule. */ - tags?: string[] | null; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity?: "none" | "note" | "warning" | "error" | null; - /** @description A short description of the rule used to detect the alert. */ - description?: string; - }; - "code-scanning-alert-items": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule-summary"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - }; - "code-scanning-alert": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - }; - /** - * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. - * @enum {string} - */ - "code-scanning-alert-set-state": "open" | "dismissed"; - /** - * @description An identifier for the upload. - * @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 - */ - "code-scanning-analysis-sarif-id": string; - /** @description The SHA of the commit to which the analysis you are uploading relates. */ - "code-scanning-analysis-commit-sha": string; - /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ - "code-scanning-analysis-environment": string; - /** - * Format: date-time - * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "code-scanning-analysis-created-at": string; - /** - * Format: uri - * @description The REST API URL of the analysis resource. - */ - readonly "code-scanning-analysis-url": string; - "code-scanning-analysis": { - ref: components["schemas"]["code-scanning-ref"]; - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment: components["schemas"]["code-scanning-analysis-environment"]; - category?: components["schemas"]["code-scanning-analysis-category"]; - /** @example error reading field xyz */ - error: string; - created_at: components["schemas"]["code-scanning-analysis-created-at"]; - /** @description The total number of results in the analysis. */ - results_count: number; - /** @description The total number of rules used in the analysis. */ - rules_count: number; - /** @description Unique identifier for this analysis. */ - id: number; - url: components["schemas"]["code-scanning-analysis-url"]; - sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - deletable: boolean; - /** - * @description Warning generated when processing the analysis - * @example 123 results were ignored - */ - warning: string; - }; - /** - * Analysis deletion - * @description Successful deletion of a code scanning analysis - */ - "code-scanning-analysis-deletion": { - /** - * Format: uri - * @description Next deletable analysis in chain, without last analysis deletion confirmation - */ - next_analysis_url: string | null; - /** - * Format: uri - * @description Next deletable analysis in chain, with last analysis deletion confirmation - */ - confirm_delete_url: string | null; - }; - /** - * CodeQL Database - * @description A CodeQL database. - */ - "code-scanning-codeql-database": { - /** @description The ID of the CodeQL database. */ - id: number; - /** @description The name of the CodeQL database. */ - name: string; - /** @description The language of the CodeQL database. */ - language: string; - uploader: components["schemas"]["simple-user"]; - /** @description The MIME type of the CodeQL database file. */ - content_type: string; - /** @description The size of the CodeQL database file in bytes. */ - size: number; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * Format: uri - * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. - */ - url: string; - }; - /** @description Configuration for code scanning default setup. */ - "code-scanning-default-setup": { - /** - * @description Code scanning default setup has been configured or not. - * @enum {string} - */ - state?: "configured" | "not-configured"; - /** @description Languages to be analysed. */ - languages?: ( - | "c-cpp" - | "csharp" - | "go" - | "java-kotlin" - | "javascript-typescript" - | "javascript" - | "python" - | "ruby" - | "typescript" - | "swift" - )[]; - /** - * @description CodeQL query suite to be used. - * @enum {string} - */ - query_suite?: "default" | "extended"; - /** - * Format: date-time - * @description Timestamp of latest configuration update. - * @example 2023-12-06T14:20:20.000Z - */ - updated_at?: string | null; - /** - * @description The frequency of the periodic analysis. - * @enum {string|null} - */ - schedule?: "weekly" | null; - }; - /** @description Configuration for code scanning default setup. */ - "code-scanning-default-setup-update": { - /** - * @description Whether code scanning default setup has been configured or not. - * @enum {string} - */ - state: "configured" | "not-configured"; - /** - * @description CodeQL query suite to be used. - * @enum {string} - */ - query_suite?: "default" | "extended"; - /** @description CodeQL languages to be analyzed. Supported values are: `c-cpp`, `csharp`, `go`, `java-kotlin`, `javascript-typescript`, `python`, `ruby`, and `swift`. */ - languages?: ( - | "c-cpp" - | "csharp" - | "go" - | "java-kotlin" - | "javascript-typescript" - | "python" - | "ruby" - | "swift" - )[]; - }; - /** - * @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. - * You should not rely on this always being an actions workflow run object. - */ - "code-scanning-default-setup-update-response": { - /** @description ID of the corresponding run. */ - run_id?: number; - /** @description URL of the corresponding run. */ - run_url?: string; - }; - /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ - "code-scanning-analysis-sarif-file": string; - "code-scanning-sarifs-receipt": { - id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - /** - * Format: uri - * @description The REST API URL for checking the status of the upload. - */ - url?: string; - }; - "code-scanning-sarifs-status": { - /** - * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. - * @enum {string} - */ - processing_status?: "pending" | "complete" | "failed"; - /** - * Format: uri - * @description The REST API URL for getting the analyses associated with the upload. - */ - analyses_url?: string | null; - /** @description Any errors that ocurred during processing of the delivery. */ - errors?: readonly string[] | null; - }; - /** - * CODEOWNERS errors - * @description A list of errors found in a repo's CODEOWNERS file - */ - "codeowners-errors": { - errors: { - /** - * @description The line number where this errors occurs. - * @example 7 - */ - line: number; - /** - * @description The column number where this errors occurs. - * @example 3 - */ - column: number; - /** - * @description The contents of the line where the error occurs. - * @example * user - */ - source?: string; - /** - * @description The type of error. - * @example Invalid owner - */ - kind: string; - /** - * @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. - * @example The pattern `/` will never match anything, did you mean `*` instead? - */ - suggestion?: string | null; - /** - * @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). - * @example Invalid owner on line 7: - * - * * user - * ^ - */ - message: string; - /** - * @description The path of the file where the error occured. - * @example .github/CODEOWNERS - */ - path: string; - }[]; - }; - /** - * Codespace machine - * @description A description of the machine powering a codespace. - */ - "codespace-machine": { - /** - * @description The name of the machine. - * @example standardLinux - */ - name: string; - /** - * @description The display name of the machine includes cores, memory, and storage. - * @example 4 cores, 16 GB RAM, 64 GB storage - */ - display_name: string; - /** - * @description The operating system of the machine. - * @example linux - */ - operating_system: string; - /** - * @description How much storage is available to the codespace. - * @example 68719476736 - */ - storage_in_bytes: number; - /** - * @description How much memory is available to the codespace. - * @example 17179869184 - */ - memory_in_bytes: number; - /** - * @description How many cores are available to the codespace. - * @example 4 - */ - cpus: number; - /** - * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. - * @example ready - * @enum {string|null} - */ - prebuild_availability: "none" | "ready" | "in_progress" | null; - }; - /** - * Codespaces Secret - * @description Set repository secrets for GitHub Codespaces. - */ - "repo-codespaces-secret": { - /** - * @description The name of the secret. - * @example SECRET_TOKEN - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Collaborator - * @description Collaborator - */ - collaborator: { - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - email?: string | null; - name?: string | null; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - /** @example admin */ - role_name: string; - }; - /** - * Repository Invitation - * @description Repository invitations let you manage who you collaborate with. - */ - "repository-invitation": { - /** - * @description Unique identifier of the repository invitation. - * @example 42 - */ - id: number; - repository: components["schemas"]["minimal-repository"]; - invitee: components["schemas"]["nullable-simple-user"]; - inviter: components["schemas"]["nullable-simple-user"]; - /** - * @description The permission associated with the invitation. - * @example read - * @enum {string} - */ - permissions: "read" | "write" | "admin" | "triage" | "maintain"; - /** - * Format: date-time - * @example 2016-06-13T14:52:50-05:00 - */ - created_at: string; - /** @description Whether or not the invitation has expired */ - expired?: boolean; - /** - * @description URL for the repository invitation - * @example https://api.github.com/user/repository-invitations/1 - */ - url: string; - /** @example https://github.com/octocat/Hello-World/invitations */ - html_url: string; - node_id: string; - }; - /** - * Collaborator - * @description Collaborator - */ - "nullable-collaborator": { - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - email?: string | null; - name?: string | null; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - /** @example admin */ - role_name: string; - } | null; - /** - * Repository Collaborator Permission - * @description Repository Collaborator Permission - */ - "repository-collaborator-permission": { - permission: string; - /** @example admin */ - role_name: string; - user: components["schemas"]["nullable-collaborator"]; - }; - /** - * Commit Comment - * @description Commit Comment - */ - "commit-comment": { - /** Format: uri */ - html_url: string; - /** Format: uri */ - url: string; - id: number; - node_id: string; - body: string; - path: string | null; - position: number | null; - line: number | null; - commit_id: string; - user: components["schemas"]["nullable-simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Branch Short - * @description Branch Short - */ - "branch-short": { - name: string; - commit: { - sha: string; - url: string; - }; - protected: boolean; - }; - /** - * Link - * @description Hypermedia Link - */ - link: { - href: string; - }; - /** - * Auto merge - * @description The status of auto merging a pull request. - */ - "auto-merge": { - enabled_by: components["schemas"]["simple-user"]; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - /** @description Title for the merge commit message. */ - commit_title: string; - /** @description Commit message for the merge commit. */ - commit_message: string; - } | null; - /** - * Pull Request Simple - * @description Pull Request Simple - */ - "pull-request-simple": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 - */ - url: string; - /** @example 1 */ - id: number; - /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ - node_id: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347 - */ - html_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347.diff - */ - diff_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347.patch - */ - patch_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits - */ - commits_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments - */ - review_comments_url: string; - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ - review_comment_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments - */ - comments_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - statuses_url: string; - /** @example 1347 */ - number: number; - /** @example open */ - state: string; - /** @example true */ - locked: boolean; - /** @example new-feature */ - title: string; - user: components["schemas"]["nullable-simple-user"]; - /** @example Please pull these awesome changes */ - body: string | null; - labels: { - /** Format: int64 */ - id: number; - node_id: string; - url: string; - name: string; - description: string; - color: string; - default: boolean; - }[]; - milestone: components["schemas"]["nullable-milestone"]; - /** @example too heated */ - active_lock_reason?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - merged_at: string | null; - /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ - merge_commit_sha: string | null; - assignee: components["schemas"]["nullable-simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - requested_reviewers?: components["schemas"]["simple-user"][] | null; - requested_teams?: components["schemas"]["team"][] | null; - head: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: components["schemas"]["nullable-simple-user"]; - }; - base: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: components["schemas"]["nullable-simple-user"]; - }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; - }; - author_association: components["schemas"]["author-association"]; - auto_merge: components["schemas"]["auto-merge"]; - /** - * @description Indicates whether or not the pull request is a draft. - * @example false - */ - draft?: boolean; - }; - /** Simple Commit Status */ - "simple-commit-status": { - description: string | null; - id: number; - node_id: string; - state: string; - context: string; - /** Format: uri */ - target_url: string | null; - required?: boolean | null; - /** Format: uri */ - avatar_url: string | null; - /** Format: uri */ - url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Combined Commit Status - * @description Combined Commit Status - */ - "combined-commit-status": { - state: string; - statuses: components["schemas"]["simple-commit-status"][]; - sha: string; - total_count: number; - repository: components["schemas"]["minimal-repository"]; - /** Format: uri */ - commit_url: string; - /** Format: uri */ - url: string; - }; - /** - * Status - * @description The status of a commit. - */ - status: { - url: string; - avatar_url: string | null; - id: number; - node_id: string; - state: string; - description: string | null; - target_url: string | null; - context: string; - created_at: string; - updated_at: string; - creator: components["schemas"]["nullable-simple-user"]; - }; - /** - * Code Of Conduct Simple - * @description Code of Conduct Simple - */ - "nullable-code-of-conduct-simple": { - /** - * Format: uri - * @example https://api.github.com/repos/github/docs/community/code_of_conduct - */ - url: string; - /** @example citizen_code_of_conduct */ - key: string; - /** @example Citizen Code of Conduct */ - name: string; - /** - * Format: uri - * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md - */ - html_url: string | null; - } | null; - /** Community Health File */ - "nullable-community-health-file": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - } | null; - /** - * Community Profile - * @description Community Profile - */ - "community-profile": { - /** @example 100 */ - health_percentage: number; - /** @example My first repository on GitHub! */ - description: string | null; - /** @example example.com */ - documentation: string | null; - files: { - code_of_conduct: components["schemas"]["nullable-code-of-conduct-simple"]; - code_of_conduct_file: components["schemas"]["nullable-community-health-file"]; - license: components["schemas"]["nullable-license-simple"]; - contributing: components["schemas"]["nullable-community-health-file"]; - readme: components["schemas"]["nullable-community-health-file"]; - issue_template: components["schemas"]["nullable-community-health-file"]; - pull_request_template: components["schemas"]["nullable-community-health-file"]; - }; - /** - * Format: date-time - * @example 2017-02-28T19:09:29Z - */ - updated_at: string | null; - /** @example true */ - content_reports_enabled?: boolean; - }; - /** - * Commit Comparison - * @description Commit Comparison - */ - "commit-comparison": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/compare/master...topic - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/compare/master...topic - */ - html_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17 - */ - permalink_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/compare/master...topic.diff - */ - diff_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/compare/master...topic.patch - */ - patch_url: string; - base_commit: components["schemas"]["commit"]; - merge_base_commit: components["schemas"]["commit"]; - /** - * @example ahead - * @enum {string} - */ - status: "diverged" | "ahead" | "behind" | "identical"; - /** @example 4 */ - ahead_by: number; - /** @example 5 */ - behind_by: number; - /** @example 6 */ - total_commits: number; - commits: components["schemas"]["commit"][]; - files?: components["schemas"]["diff-entry"][]; - }; - /** - * Content Tree - * @description Content Tree - */ - "content-tree": { - type: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - entries?: { - type: string; - size: number; - name: string; - path: string; - content?: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }[]; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * Content Directory - * @description A list of directory items - */ - "content-directory": { - /** @enum {string} */ - type: "dir" | "file" | "submodule" | "symlink"; - size: number; - name: string; - path: string; - content?: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }[]; - /** - * Content File - * @description Content File - */ - "content-file": { - /** @enum {string} */ - type: "file"; - encoding: string; - size: number; - name: string; - path: string; - content: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - /** @example "actual/actual.md" */ - target?: string; - /** @example "git://example.com/defunkt/dotjs.git" */ - submodule_git_url?: string; - }; - /** - * Symlink Content - * @description An object describing a symlink - */ - "content-symlink": { - /** @enum {string} */ - type: "symlink"; - target: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * Submodule Content - * @description An object describing a submodule - */ - "content-submodule": { - /** @enum {string} */ - type: "submodule"; - /** Format: uri */ - submodule_git_url: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * File Commit - * @description File Commit - */ - "file-commit": { - content: { - name?: string; - path?: string; - sha?: string; - size?: number; - url?: string; - html_url?: string; - git_url?: string; - download_url?: string; - type?: string; - _links?: { - self?: string; - git?: string; - html?: string; - }; - } | null; - commit: { - sha?: string; - node_id?: string; - url?: string; - html_url?: string; - author?: { - date?: string; - name?: string; - email?: string; - }; - committer?: { - date?: string; - name?: string; - email?: string; - }; - message?: string; - tree?: { - url?: string; - sha?: string; - }; - parents?: { - url?: string; - html_url?: string; - sha?: string; - }[]; - verification?: { - verified?: boolean; - reason?: string; - signature?: string | null; - payload?: string | null; - }; - }; - }; - /** - * Contributor - * @description Contributor - */ - contributor: { - login?: string; - id?: number; - node_id?: string; - /** Format: uri */ - avatar_url?: string; - gravatar_id?: string | null; - /** Format: uri */ - url?: string; - /** Format: uri */ - html_url?: string; - /** Format: uri */ - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - repos_url?: string; - events_url?: string; - /** Format: uri */ - received_events_url?: string; - type: string; - site_admin?: boolean; - contributions: number; - email?: string; - name?: string; - }; - /** @description A Dependabot alert. */ - "dependabot-alert": { - number: components["schemas"]["alert-number"]; - /** - * @description The state of the Dependabot alert. - * @enum {string} - */ - state: "auto_dismissed" | "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - dependency: { - readonly package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} - */ - readonly scope?: "development" | "runtime" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - /** - * @description The reason that the alert was dismissed. - * @enum {string|null} - */ - dismissed_reason: - | "fix_started" - | "inaccurate" - | "no_bandwidth" - | "not_used" - | "tolerable_risk" - | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: string | null; - fixed_at: components["schemas"]["alert-fixed-at"]; - auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; - }; - /** - * Dependabot Secret - * @description Set secrets for Dependabot. - */ - "dependabot-secret": { - /** - * @description The name of the secret. - * @example MY_ARTIFACTORY_PASSWORD - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Dependency Graph Diff - * @description A diff of the dependencies between two commits. - */ - "dependency-graph-diff": { - /** @enum {string} */ - change_type: "added" | "removed"; - /** @example path/to/package-lock.json */ - manifest: string; - /** @example npm */ - ecosystem: string; - /** @example @actions/core */ - name: string; - /** @example 1.0.0 */ - version: string; - /** @example pkg:/npm/%40actions/core@1.1.0 */ - package_url: string | null; - /** @example MIT */ - license: string | null; - /** @example https://github.com/github/actions */ - source_repository_url: string | null; - vulnerabilities: { - /** @example critical */ - severity: string; - /** @example GHSA-rf4j-j272-fj86 */ - advisory_ghsa_id: string; - /** @example A summary of the advisory. */ - advisory_summary: string; - /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ - advisory_url: string; - }[]; - /** - * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. - * @enum {string} - */ - scope: "unknown" | "runtime" | "development"; - }[]; - /** - * Dependency Graph SPDX SBOM - * @description A schema for the SPDX JSON format returned by the Dependency Graph. - */ - "dependency-graph-spdx-sbom": { - sbom: { - /** - * @description The SPDX identifier for the SPDX document. - * @example SPDXRef-DOCUMENT - */ - SPDXID: string; - /** - * @description The version of the SPDX specification that this document conforms to. - * @example SPDX-2.3 - */ - spdxVersion: string; - creationInfo: { - /** - * @description The date and time the SPDX document was created. - * @example 2021-11-03T00:00:00Z - */ - created: string; - /** @description The tools that were used to generate the SPDX document. */ - creators: string[]; - }; - /** - * @description The name of the SPDX document. - * @example github/github - */ - name: string; - /** - * @description The license under which the SPDX document is licensed. - * @example CC0-1.0 - */ - dataLicense: string; - /** @description The name of the repository that the SPDX document describes. */ - documentDescribes: string[]; - /** - * @description The namespace for the SPDX document. - * @example https://github.com/example/dependency_graph/sbom-123 - */ - documentNamespace: string; - packages: { - /** - * @description A unique SPDX identifier for the package. - * @example SPDXRef-Package - */ - SPDXID?: string; - /** - * @description The name of the package. - * @example rubygems:github/github - */ - name?: string; - /** - * @description The version of the package. If the package does not have an exact version specified, - * a version range is given. - * @example 1.0.0 - */ - versionInfo?: string; - /** - * @description The location where the package can be downloaded, - * or NOASSERTION if this has not been determined. - * @example NOASSERTION - */ - downloadLocation?: string; - /** - * @description Whether the package's file content has been subjected to - * analysis during the creation of the SPDX document. - * @example false - */ - filesAnalyzed?: boolean; - /** - * @description The license of the package as determined while creating the SPDX document. - * @example MIT - */ - licenseConcluded?: string; - /** - * @description The license of the package as declared by its author, or NOASSERTION if this information - * was not available when the SPDX document was created. - * @example NOASSERTION - */ - licenseDeclared?: string; - /** - * @description The distribution source of this package, or NOASSERTION if this was not determined. - * @example NOASSERTION - */ - supplier?: string; - externalRefs?: { - /** - * @description The category of reference to an external resource this reference refers to. - * @example PACKAGE-MANAGER - */ - referenceCategory: string; - /** - * @description A locator for the particular external resource this reference refers to. - * @example pkg:gem/rails@6.0.1 - */ - referenceLocator: string; - /** - * @description The category of reference to an external resource this reference refers to. - * @example purl - */ - referenceType: string; - }[]; - }[]; - }; - }; - /** - * metadata - * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. - */ - metadata: { - [key: string]: (string | number | boolean) | null; - }; - dependency: { - /** - * @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. - * @example pkg:/npm/%40actions/http-client@1.0.11 - */ - package_url?: string; - metadata?: components["schemas"]["metadata"]; - /** - * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. - * @example direct - * @enum {string} - */ - relationship?: "direct" | "indirect"; - /** - * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. - * @example runtime - * @enum {string} - */ - scope?: "runtime" | "development"; - /** - * @description Array of package-url (PURLs) of direct child dependencies. - * @example @actions/http-client - */ - dependencies?: string[]; - }; - manifest: { - /** - * @description The name of the manifest. - * @example package-lock.json - */ - name: string; - file?: { - /** - * @description The path of the manifest file relative to the root of the Git repository. - * @example /src/build/package-lock.json - */ - source_location?: string; - }; - metadata?: components["schemas"]["metadata"]; - /** @description A collection of resolved package dependencies. */ - resolved?: { - [key: string]: components["schemas"]["dependency"]; - }; - }; - /** - * snapshot - * @description Create a new snapshot of a repository's dependencies. - */ - snapshot: { - /** @description The version of the repository snapshot submission. */ - version: number; - job: { - /** - * @description The external ID of the job. - * @example 5622a2b0-63f6-4732-8c34-a1ab27e102a11 - */ - id: string; - /** - * @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. - * @example yourworkflowname_yourjobname - */ - correlator: string; - /** - * @description The url for the job. - * @example http://example.com/build - */ - html_url?: string; - }; - /** - * @description The commit SHA associated with this dependency snapshot. Maximum length: 40 characters. - * @example ddc951f4b1293222421f2c8df679786153acf689 - */ - sha: string; - /** - * @description The repository branch that triggered this snapshot. - * @example refs/heads/main - */ - ref: string; - /** @description A description of the detector used. */ - detector: { - /** - * @description The name of the detector used. - * @example docker buildtime detector - */ - name: string; - /** - * @description The version of the detector used. - * @example 1.0.0 - */ - version: string; - /** - * @description The url of the detector used. - * @example http://example.com/docker-buildtimer-detector - */ - url: string; - }; - metadata?: components["schemas"]["metadata"]; - /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ - manifests?: { - [key: string]: components["schemas"]["manifest"]; - }; - /** - * Format: date-time - * @description The time at which the snapshot was scanned. - * @example 2020-06-13T14:52:50-05:00 - */ - scanned: string; - }; - /** - * Deployment Status - * @description The status of a deployment. - */ - "deployment-status": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 - */ - url: string; - /** @example 1 */ - id: number; - /** @example MDE2OkRlcGxveW1lbnRTdGF0dXMx */ - node_id: string; - /** - * @description The state of the status. - * @example success - * @enum {string} - */ - state: - | "error" - | "failure" - | "inactive" - | "pending" - | "success" - | "queued" - | "in_progress"; - creator: components["schemas"]["nullable-simple-user"]; - /** - * @description A short description of the status. - * @default - * @example Deployment finished successfully. - */ - description: string; - /** - * @description The environment of the deployment that the status is for. - * @default - * @example production - */ - environment?: string; - /** - * Format: uri - * @description Deprecated: the URL to associate with this status. - * @default - * @example https://example.com/deployment/42/output - */ - target_url: string; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - created_at: string; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/42 - */ - deployment_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example - */ - repository_url: string; - /** - * Format: uri - * @description The URL for accessing your environment. - * @default - * @example https://staging.example.com/ - */ - environment_url?: string; - /** - * Format: uri - * @description The URL to associate with this status. - * @default - * @example https://example.com/deployment/42/output - */ - log_url?: string; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - }; - /** - * @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). - * @example 30 - */ - "wait-timer": number; - /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ - "deployment-branch-policy-settings": { - /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ - protected_branches: boolean; - /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ - custom_branch_policies: boolean; - } | null; - /** - * Environment - * @description Details of a deployment environment - */ - environment: { - /** - * @description The id of the environment. - * @example 56780428 - */ - id: number; - /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ - node_id: string; - /** - * @description The name of the environment. - * @example staging - */ - name: string; - /** @example https://api.github.com/repos/github/hello-world/environments/staging */ - url: string; - /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ - html_url: string; - /** - * Format: date-time - * @description The time that the environment was created, in ISO 8601 format. - * @example 2020-11-23T22:00:40Z - */ - created_at: string; - /** - * Format: date-time - * @description The time that the environment was last updated, in ISO 8601 format. - * @example 2020-11-23T22:00:40Z - */ - updated_at: string; - /** @description Built-in deployment protection rules for the environment. */ - protection_rules?: ( - | { - /** @example 3515 */ - id: number; - /** @example MDQ6R2F0ZTM1MTU= */ - node_id: string; - /** @example wait_timer */ - type: string; - wait_timer?: components["schemas"]["wait-timer"]; - } - | { - /** @example 3755 */ - id: number; - /** @example MDQ6R2F0ZTM3NTU= */ - node_id: string; - /** @example required_reviewers */ - type: string; - /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers?: { - type?: components["schemas"]["deployment-reviewer-type"]; - reviewer?: - | components["schemas"]["simple-user"] - | components["schemas"]["team"]; - }[]; - } - | { - /** @example 3515 */ - id: number; - /** @example MDQ6R2F0ZTM1MTU= */ - node_id: string; - /** @example branch_policy */ - type: string; - } - )[]; - deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; - }; - /** - * Deployment branch policy - * @description Details of a deployment branch policy. - */ - "deployment-branch-policy": { - /** - * @description The unique identifier of the branch policy. - * @example 361471 - */ - id?: number; - /** @example MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE= */ - node_id?: string; - /** - * @description The name pattern that branches must match in order to deploy to the environment. - * @example release/* - */ - name?: string; - }; - /** Deployment branch policy name pattern */ - "deployment-branch-policy-name-pattern": { - /** - * @description The name pattern that branches must match in order to deploy to the environment. - * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. - * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). - * @example release/* - */ - name: string; - }; - /** - * Custom deployment protection rule app - * @description A GitHub App that is providing a custom deployment protection rule. - */ - "custom-deployment-rule-app": { - /** - * @description The unique identifier of the deployment protection rule integration. - * @example 3515 - */ - id: number; - /** - * @description The slugified name of the deployment protection rule integration. - * @example my-custom-app - */ - slug: string; - /** - * @description The URL for the endpoint to get details about the app. - * @example https://api.github.com/apps/custom-app-slug - */ - integration_url: string; - /** - * @description The node ID for the deployment protection rule integration. - * @example MDQ6R2F0ZTM1MTU= - */ - node_id: string; - }; - /** - * Deployment protection rule - * @description Deployment protection rule - */ - "deployment-protection-rule": { - /** - * @description The unique identifier for the deployment protection rule. - * @example 3515 - */ - id: number; - /** - * @description The node ID for the deployment protection rule. - * @example MDQ6R2F0ZTM1MTU= - */ - node_id: string; - /** - * @description Whether the deployment protection rule is enabled for the environment. - * @example true - */ - enabled: boolean; - app: components["schemas"]["custom-deployment-rule-app"]; - }; - /** - * Short Blob - * @description Short Blob - */ - "short-blob": { - url: string; - sha: string; - }; - /** - * Blob - * @description Blob - */ - blob: { - content: string; - encoding: string; - /** Format: uri */ - url: string; - sha: string; - size: number | null; - node_id: string; - highlighted_content?: string; - }; - /** - * Git Commit - * @description Low-level Git commit operations within a repository - */ - "git-commit": { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - node_id: string; - /** Format: uri */ - url: string; - /** @description Identifying information for the git-user */ - author: { - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - date: string; - /** - * @description Git email address of the user - * @example monalisa.octocat@example.com - */ - email: string; - /** - * @description Name of the git user - * @example Monalisa Octocat - */ - name: string; - }; - /** @description Identifying information for the git-user */ - committer: { - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - date: string; - /** - * @description Git email address of the user - * @example monalisa.octocat@example.com - */ - email: string; - /** - * @description Name of the git user - * @example Monalisa Octocat - */ - name: string; - }; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - tree: { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - }; - parents: { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - }[]; - verification: { - verified: boolean; - reason: string; - signature: string | null; - payload: string | null; - }; - /** Format: uri */ - html_url: string; - }; - /** - * Git Reference - * @description Git references within a repository - */ - "git-ref": { - ref: string; - node_id: string; - /** Format: uri */ - url: string; - object: { - type: string; - /** - * @description SHA for the reference - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - }; - }; - /** - * Git Tag - * @description Metadata for a Git tag - */ - "git-tag": { - /** @example MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw== */ - node_id: string; - /** - * @description Name of the tag - * @example v0.0.1 - */ - tag: string; - /** @example 940bd336248efae0f9ee5bc7b2d5c985887b16ac */ - sha: string; - /** - * Format: uri - * @description URL for the tag - * @example https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac - */ - url: string; - /** - * @description Message describing the purpose of the tag - * @example Initial public release - */ - message: string; - tagger: { - date: string; - email: string; - name: string; - }; - object: { - sha: string; - type: string; - /** Format: uri */ - url: string; - }; - verification?: components["schemas"]["verification"]; - }; - /** - * Git Tree - * @description The hierarchy between files in a Git repository. - */ - "git-tree": { - sha: string; - /** Format: uri */ - url: string; - truncated: boolean; - /** - * @description Objects specifying a tree structure - * @example [ - * { - * "path": "file.rb", - * "mode": "100644", - * "type": "blob", - * "size": 30, - * "sha": "44b4fc6d56897b048c772eb4087f854f46256132", - * "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132", - * "properties": { - * "path": { - * "type": "string" - * }, - * "mode": { - * "type": "string" - * }, - * "type": { - * "type": "string" - * }, - * "size": { - * "type": "integer" - * }, - * "sha": { - * "type": "string" - * }, - * "url": { - * "type": "string" - * } - * }, - * "required": [ - * "path", - * "mode", - * "type", - * "sha", - * "url", - * "size" - * ] - * } - * ] - */ - tree: { - /** @example test/file.rb */ - path?: string; - /** @example 040000 */ - mode?: string; - /** @example tree */ - type?: string; - /** @example 23f6827669e43831def8a7ad935069c8bd418261 */ - sha?: string; - /** @example 12 */ - size?: number; - /** @example https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261 */ - url?: string; - }[]; - }; - /** Hook Response */ - "hook-response": { - code: number | null; - status: string | null; - message: string | null; - }; - /** - * Webhook - * @description Webhooks for repositories. - */ - hook: { - type: string; - /** - * @description Unique identifier of the webhook. - * @example 42 - */ - id: number; - /** - * @description The name of a valid service, use 'web' for a webhook. - * @example web - */ - name: string; - /** - * @description Determines whether the hook is actually triggered on pushes. - * @example true - */ - active: boolean; - /** - * @description Determines what events the hook is triggered for. Default: ['push']. - * @example [ - * "push", - * "pull_request" - * ] - */ - events: string[]; - config: { - /** @example "foo@bar.com" */ - email?: string; - /** @example "foo" */ - password?: string; - /** @example "roomer" */ - room?: string; - /** @example "foo" */ - subdomain?: string; - url?: components["schemas"]["webhook-config-url"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - /** @example "sha256" */ - digest?: string; - secret?: components["schemas"]["webhook-config-secret"]; - /** @example "abc" */ - token?: string; - }; - /** - * Format: date-time - * @example 2011-09-06T20:39:23Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2011-09-06T17:26:27Z - */ - created_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/hooks/1 - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/test - */ - test_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/pings - */ - ping_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries - */ - deliveries_url?: string; - last_response: components["schemas"]["hook-response"]; - }; - /** - * Import - * @description A repository import from an external source. - */ - import: { - vcs: string | null; - use_lfs?: boolean; - /** @description The URL of the originating repository. */ - vcs_url: string; - svc_root?: string; - tfvc_project?: string; - /** @enum {string} */ - status: - | "auth" - | "error" - | "none" - | "detecting" - | "choose" - | "auth_failed" - | "importing" - | "mapping" - | "waiting_to_push" - | "pushing" - | "complete" - | "setup" - | "unknown" - | "detection_found_multiple" - | "detection_found_nothing" - | "detection_needs_auth"; - status_text?: string | null; - failed_step?: string | null; - error_message?: string | null; - import_percent?: number | null; - commit_count?: number | null; - push_percent?: number | null; - has_large_files?: boolean; - large_files_size?: number; - large_files_count?: number; - project_choices?: { - vcs?: string; - tfvc_project?: string; - human_name?: string; - }[]; - message?: string; - authors_count?: number | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - authors_url: string; - /** Format: uri */ - repository_url: string; - svn_root?: string; - }; - /** - * Porter Author - * @description Porter Author - */ - "porter-author": { - id: number; - remote_id: string; - remote_name: string; - email: string; - name: string; - /** Format: uri */ - url: string; - /** Format: uri */ - import_url: string; - }; - /** - * Porter Large File - * @description Porter Large File - */ - "porter-large-file": { - ref_name: string; - path: string; - oid: string; - size: number; - }; - /** - * Issue - * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. - */ - "nullable-issue": { - /** Format: int64 */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue - * @example https://api.github.com/repositories/42/issues/1 - */ - url: string; - /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** - * @description Number uniquely identifying the issue within its repository - * @example 42 - */ - number: number; - /** - * @description State of the issue; either 'open' or 'closed' - * @example open - */ - state: string; - /** - * @description The reason for the current state - * @example not_planned - * @enum {string|null} - */ - state_reason?: "completed" | "reopened" | "not_planned" | null; - /** - * @description Title of the issue - * @example Widget creation fails in Safari on OS X 10.8 - */ - title: string; - /** - * @description Contents of the issue - * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? - */ - body?: string | null; - user: components["schemas"]["nullable-simple-user"]; - /** - * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository - * @example [ - * "bug", - * "registration" - * ] - */ - labels: OneOf< - [ - string, - { - /** Format: int64 */ - id?: number; - node_id?: string; - /** Format: uri */ - url?: string; - name?: string; - description?: string | null; - color?: string | null; - default?: boolean; - }, - ] - >[]; - assignee: components["schemas"]["nullable-simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - milestone: components["schemas"]["nullable-milestone"]; - locked: boolean; - active_lock_reason?: string | null; - comments: number; - pull_request?: { - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - diff_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - patch_url: string | null; - /** Format: uri */ - url: string | null; - }; - /** Format: date-time */ - closed_at: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - draft?: boolean; - closed_by?: components["schemas"]["nullable-simple-user"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - } | null; - /** - * Issue Event Label - * @description Issue Event Label - */ - "issue-event-label": { - name: string | null; - color: string | null; - }; - /** Issue Event Dismissed Review */ - "issue-event-dismissed-review": { - state: string; - review_id: number; - dismissal_message: string | null; - dismissal_commit_id?: string | null; - }; - /** - * Issue Event Milestone - * @description Issue Event Milestone - */ - "issue-event-milestone": { - title: string; - }; - /** - * Issue Event Project Card - * @description Issue Event Project Card - */ - "issue-event-project-card": { - /** Format: uri */ - url: string; - id: number; - /** Format: uri */ - project_url: string; - project_id: number; - column_name: string; - previous_column_name?: string; - }; - /** - * Issue Event Rename - * @description Issue Event Rename - */ - "issue-event-rename": { - from: string; - to: string; - }; - /** - * Issue Event - * @description Issue Event - */ - "issue-event": { - /** - * Format: int64 - * @example 1 - */ - id: number; - /** @example MDEwOklzc3VlRXZlbnQx */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/events/1 - */ - url: string; - actor: components["schemas"]["nullable-simple-user"]; - /** @example closed */ - event: string; - /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ - commit_id: string | null; - /** @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e */ - commit_url: string | null; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - issue?: components["schemas"]["nullable-issue"]; - label?: components["schemas"]["issue-event-label"]; - assignee?: components["schemas"]["nullable-simple-user"]; - assigner?: components["schemas"]["nullable-simple-user"]; - review_requester?: components["schemas"]["nullable-simple-user"]; - requested_reviewer?: components["schemas"]["nullable-simple-user"]; - requested_team?: components["schemas"]["team"]; - dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; - milestone?: components["schemas"]["issue-event-milestone"]; - project_card?: components["schemas"]["issue-event-project-card"]; - rename?: components["schemas"]["issue-event-rename"]; - author_association?: components["schemas"]["author-association"]; - lock_reason?: string | null; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - }; - /** - * Labeled Issue Event - * @description Labeled Issue Event - */ - "labeled-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - label: { - name: string; - color: string; - }; - }; - /** - * Unlabeled Issue Event - * @description Unlabeled Issue Event - */ - "unlabeled-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - label: { - name: string; - color: string; - }; - }; - /** - * Assigned Issue Event - * @description Assigned Issue Event - */ - "assigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - assigner: components["schemas"]["simple-user"]; - }; - /** - * Unassigned Issue Event - * @description Unassigned Issue Event - */ - "unassigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - assignee: components["schemas"]["simple-user"]; - assigner: components["schemas"]["simple-user"]; - }; - /** - * Milestoned Issue Event - * @description Milestoned Issue Event - */ - "milestoned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - milestone: { - title: string; - }; - }; - /** - * Demilestoned Issue Event - * @description Demilestoned Issue Event - */ - "demilestoned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - milestone: { - title: string; - }; - }; - /** - * Renamed Issue Event - * @description Renamed Issue Event - */ - "renamed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - rename: { - from: string; - to: string; - }; - }; - /** - * Review Requested Issue Event - * @description Review Requested Issue Event - */ - "review-requested-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - review_requester: components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - requested_reviewer?: components["schemas"]["simple-user"]; - }; - /** - * Review Request Removed Issue Event - * @description Review Request Removed Issue Event - */ - "review-request-removed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - review_requester: components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - requested_reviewer?: components["schemas"]["simple-user"]; - }; - /** - * Review Dismissed Issue Event - * @description Review Dismissed Issue Event - */ - "review-dismissed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - dismissed_review: { - state: string; - review_id: number; - dismissal_message: string | null; - dismissal_commit_id?: string; - }; - }; - /** - * Locked Issue Event - * @description Locked Issue Event - */ - "locked-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - /** @example "off-topic" */ - lock_reason: string | null; - }; - /** - * Added to Project Issue Event - * @description Added to Project Issue Event - */ - "added-to-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Moved Column in Project Issue Event - * @description Moved Column in Project Issue Event - */ - "moved-column-in-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Removed from Project Issue Event - * @description Removed from Project Issue Event - */ - "removed-from-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Converted Note to Issue Issue Event - * @description Converted Note to Issue Issue Event - */ - "converted-note-to-issue-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Issue Event for Issue - * @description Issue Event for Issue - */ - "issue-event-for-issue": - | components["schemas"]["labeled-issue-event"] - | components["schemas"]["unlabeled-issue-event"] - | components["schemas"]["assigned-issue-event"] - | components["schemas"]["unassigned-issue-event"] - | components["schemas"]["milestoned-issue-event"] - | components["schemas"]["demilestoned-issue-event"] - | components["schemas"]["renamed-issue-event"] - | components["schemas"]["review-requested-issue-event"] - | components["schemas"]["review-request-removed-issue-event"] - | components["schemas"]["review-dismissed-issue-event"] - | components["schemas"]["locked-issue-event"] - | components["schemas"]["added-to-project-issue-event"] - | components["schemas"]["moved-column-in-project-issue-event"] - | components["schemas"]["removed-from-project-issue-event"] - | components["schemas"]["converted-note-to-issue-issue-event"]; - /** - * Label - * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). - */ - label: { - /** - * Format: int64 - * @example 208045946 - */ - id: number; - /** @example MDU6TGFiZWwyMDgwNDU5NDY= */ - node_id: string; - /** - * Format: uri - * @description URL for the label - * @example https://api.github.com/repositories/42/labels/bug - */ - url: string; - /** - * @description The name of the label. - * @example bug - */ - name: string; - /** @example Something isn't working */ - description: string | null; - /** - * @description 6-character hex code, without the leading #, identifying the color - * @example FFFFFF - */ - color: string; - /** @example true */ - default: boolean; - }; - /** - * Timeline Comment Event - * @description Timeline Comment Event - */ - "timeline-comment-event": { - event: string; - actor: components["schemas"]["simple-user"]; - /** - * @description Unique identifier of the issue comment - * @example 42 - */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue comment - * @example https://api.github.com/repositories/42/issues/comments/1 - */ - url: string; - /** - * @description Contents of the issue comment - * @example What version of Safari were you using when you observed this bug? - */ - body?: string; - body_text?: string; - body_html?: string; - /** Format: uri */ - html_url: string; - user: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - updated_at: string; - /** Format: uri */ - issue_url: string; - author_association: components["schemas"]["author-association"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Timeline Cross Referenced Event - * @description Timeline Cross Referenced Event - */ - "timeline-cross-referenced-event": { - event: string; - actor?: components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - source: { - type?: string; - issue?: components["schemas"]["issue"]; - }; - }; - /** - * Timeline Committed Event - * @description Timeline Committed Event - */ - "timeline-committed-event": { - event?: string; - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - node_id: string; - /** Format: uri */ - url: string; - /** @description Identifying information for the git-user */ - author: { - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - date: string; - /** - * @description Git email address of the user - * @example monalisa.octocat@example.com - */ - email: string; - /** - * @description Name of the git user - * @example Monalisa Octocat - */ - name: string; - }; - /** @description Identifying information for the git-user */ - committer: { - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - date: string; - /** - * @description Git email address of the user - * @example monalisa.octocat@example.com - */ - email: string; - /** - * @description Name of the git user - * @example Monalisa Octocat - */ - name: string; - }; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - tree: { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - }; - parents: { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - }[]; - verification: { - verified: boolean; - reason: string; - signature: string | null; - payload: string | null; - }; - /** Format: uri */ - html_url: string; - }; - /** - * Timeline Reviewed Event - * @description Timeline Reviewed Event - */ - "timeline-reviewed-event": { - event: string; - /** - * @description Unique identifier of the review - * @example 42 - */ - id: number; - /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ - node_id: string; - user: components["schemas"]["simple-user"]; - /** - * @description The text of the review. - * @example This looks great. - */ - body: string | null; - /** @example CHANGES_REQUESTED */ - state: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 - */ - pull_request_url: string; - _links: { - html: { - href: string; - }; - pull_request: { - href: string; - }; - }; - /** Format: date-time */ - submitted_at?: string; - /** - * @description A commit SHA for the review. - * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 - */ - commit_id: string; - body_html?: string; - body_text?: string; - author_association: components["schemas"]["author-association"]; - }; - /** - * Pull Request Review Comment - * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. - */ - "pull-request-review-comment": { - /** - * @description URL for the pull request review comment - * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 - */ - url: string; - /** - * @description The ID of the pull request review to which the comment belongs. - * @example 42 - */ - pull_request_review_id: number | null; - /** - * @description The ID of the pull request review comment. - * @example 1 - */ - id: number; - /** - * @description The node ID of the pull request review comment. - * @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw - */ - node_id: string; - /** - * @description The diff of the line that the comment refers to. - * @example @@ -16,33 +16,40 @@ public class Connection : IConnection... - */ - diff_hunk: string; - /** - * @description The relative path of the file to which the comment applies. - * @example config/database.yaml - */ - path: string; - /** - * @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead. - * @example 1 - */ - position?: number; - /** - * @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead. - * @example 4 - */ - original_position?: number; - /** - * @description The SHA of the commit to which the comment applies. - * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - commit_id: string; - /** - * @description The SHA of the original commit to which the comment applies. - * @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 - */ - original_commit_id: string; - /** - * @description The comment ID to reply to. - * @example 8 - */ - in_reply_to_id?: number; - user: components["schemas"]["simple-user"]; - /** - * @description The text of the comment. - * @example We should probably include a check for null values here. - */ - body: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - updated_at: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 - */ - html_url: string; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 - */ - pull_request_url: string; - author_association: components["schemas"]["author-association"]; - _links: { - self: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 - */ - href: string; - }; - html: { - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 - */ - href: string; - }; - pull_request: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 - */ - href: string; - }; - }; - /** - * @description The first line of the range for a multi-line comment. - * @example 2 - */ - start_line?: number | null; - /** - * @description The first line of the range for a multi-line comment. - * @example 2 - */ - original_start_line?: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side?: "LEFT" | "RIGHT" | null; - /** - * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment - * @example 2 - */ - line?: number; - /** - * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment - * @example 2 - */ - original_line?: number; - /** - * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment - * @default RIGHT - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - reactions?: components["schemas"]["reaction-rollup"]; - /** @example "

comment body

" */ - body_html?: string; - /** @example "comment body" */ - body_text?: string; - }; - /** - * Timeline Line Commented Event - * @description Timeline Line Commented Event - */ - "timeline-line-commented-event": { - event?: string; - node_id?: string; - comments?: components["schemas"]["pull-request-review-comment"][]; - }; - /** - * Timeline Commit Commented Event - * @description Timeline Commit Commented Event - */ - "timeline-commit-commented-event": { - event?: string; - node_id?: string; - commit_id?: string; - comments?: components["schemas"]["commit-comment"][]; - }; - /** - * Timeline Assigned Issue Event - * @description Timeline Assigned Issue Event - */ - "timeline-assigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - assignee: components["schemas"]["simple-user"]; - }; - /** - * Timeline Unassigned Issue Event - * @description Timeline Unassigned Issue Event - */ - "timeline-unassigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - assignee: components["schemas"]["simple-user"]; - }; - /** - * State Change Issue Event - * @description State Change Issue Event - */ - "state-change-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - state_reason?: string | null; - }; - /** - * Timeline Event - * @description Timeline Event - */ - "timeline-issue-events": - | components["schemas"]["labeled-issue-event"] - | components["schemas"]["unlabeled-issue-event"] - | components["schemas"]["milestoned-issue-event"] - | components["schemas"]["demilestoned-issue-event"] - | components["schemas"]["renamed-issue-event"] - | components["schemas"]["review-requested-issue-event"] - | components["schemas"]["review-request-removed-issue-event"] - | components["schemas"]["review-dismissed-issue-event"] - | components["schemas"]["locked-issue-event"] - | components["schemas"]["added-to-project-issue-event"] - | components["schemas"]["moved-column-in-project-issue-event"] - | components["schemas"]["removed-from-project-issue-event"] - | components["schemas"]["converted-note-to-issue-issue-event"] - | components["schemas"]["timeline-comment-event"] - | components["schemas"]["timeline-cross-referenced-event"] - | components["schemas"]["timeline-committed-event"] - | components["schemas"]["timeline-reviewed-event"] - | components["schemas"]["timeline-line-commented-event"] - | components["schemas"]["timeline-commit-commented-event"] - | components["schemas"]["timeline-assigned-issue-event"] - | components["schemas"]["timeline-unassigned-issue-event"] - | components["schemas"]["state-change-issue-event"]; - /** - * Deploy Key - * @description An SSH key granting access to a single repository. - */ - "deploy-key": { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; - added_by?: string | null; - last_used?: string | null; - }; - /** - * Language - * @description Language - */ - language: { - [key: string]: number; - }; - /** - * License Content - * @description License Content - */ - "license-content": { - name: string; - path: string; - sha: string; - size: number; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - download_url: string | null; - type: string; - content: string; - encoding: string; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - license: components["schemas"]["nullable-license-simple"]; - }; - /** - * Merged upstream - * @description Results of a successful merge upstream request - */ - "merged-upstream": { - message?: string; - /** @enum {string} */ - merge_type?: "merge" | "fast-forward" | "none"; - base_branch?: string; - }; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/milestones/v1.0 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels - */ - labels_url: string; - /** @example 1002604 */ - id: number; - /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ - node_id: string; - /** - * @description The number of the milestone. - * @example 42 - */ - number: number; - /** - * @description The state of the milestone. - * @default open - * @example open - * @enum {string} - */ - state: "open" | "closed"; - /** - * @description The title of the milestone. - * @example v1.0 - */ - title: string; - /** @example Tracking milestone for version 1.0 */ - description: string | null; - creator: components["schemas"]["nullable-simple-user"]; - /** @example 4 */ - open_issues: number; - /** @example 8 */ - closed_issues: number; - /** - * Format: date-time - * @example 2011-04-10T20:09:31Z - */ - created_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2013-02-12T13:22:01Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2012-10-09T23:39:01Z - */ - due_on: string | null; - }; - /** Pages Source Hash */ - "pages-source-hash": { - branch: string; - path: string; - }; - /** Pages Https Certificate */ - "pages-https-certificate": { - /** - * @example approved - * @enum {string} - */ - state: - | "new" - | "authorization_created" - | "authorization_pending" - | "authorized" - | "authorization_revoked" - | "issued" - | "uploaded" - | "approved" - | "errored" - | "bad_authz" - | "destroy_pending" - | "dns_changed"; - /** @example Certificate is approved */ - description: string; - /** - * @description Array of the domain set and its alternate name (if it is configured) - * @example [ - * "example.com", - * "www.example.com" - * ] - */ - domains: string[]; - /** Format: date */ - expires_at?: string; - }; - /** - * GitHub Pages - * @description The configuration for GitHub Pages for a repository. - */ - page: { - /** - * Format: uri - * @description The API address for accessing this Page resource. - * @example https://api.github.com/repos/github/hello-world/pages - */ - url: string; - /** - * @description The status of the most recent build of the Page. - * @example built - * @enum {string|null} - */ - status: "built" | "building" | "errored" | null; - /** - * @description The Pages site's custom domain - * @example example.com - */ - cname: string | null; - /** - * @description The state if the domain is verified - * @example pending - * @enum {string|null} - */ - protected_domain_state?: "pending" | "verified" | "unverified" | null; - /** - * Format: date-time - * @description The timestamp when a pending domain becomes unverified. - */ - pending_domain_unverified_at?: string | null; - /** - * @description Whether the Page has a custom 404 page. - * @default false - * @example false - */ - custom_404: boolean; - /** - * Format: uri - * @description The web address the Page can be accessed from. - * @example https://example.com - */ - html_url?: string; - /** - * @description The process in which the Page will be built. - * @example legacy - * @enum {string|null} - */ - build_type?: "legacy" | "workflow" | null; - source?: components["schemas"]["pages-source-hash"]; - /** - * @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. - * @example true - */ - public: boolean; - https_certificate?: components["schemas"]["pages-https-certificate"]; - /** - * @description Whether https is enabled on the domain - * @example true - */ - https_enforced?: boolean; - }; - /** - * Page Build - * @description Page Build - */ - "page-build": { - /** Format: uri */ - url: string; - status: string; - error: { - message: string | null; - }; - pusher: components["schemas"]["nullable-simple-user"]; - commit: string; - duration: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Page Build Status - * @description Page Build Status - */ - "page-build-status": { - /** - * Format: uri - * @example https://api.github.com/repos/github/hello-world/pages/builds/latest - */ - url: string; - /** @example queued */ - status: string; - }; - /** - * GitHub Pages - * @description The GitHub Pages deployment status. - */ - "page-deployment": { - /** - * Format: uri - * @description The URI to monitor GitHub Pages deployment status. - * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251/status - */ - status_url: string; - /** - * Format: uri - * @description The URI to the deployed GitHub Pages. - * @example hello-world.github.io - */ - page_url: string; - /** - * Format: uri - * @description The URI to the deployed GitHub Pages preview. - * @example monalisa-1231a2312sa32-23sda74.drafts.github.io - */ - preview_url?: string; - }; - /** - * Pages Health Check Status - * @description Pages Health Check Status - */ - "pages-health-check": { - domain?: { - host?: string; - uri?: string; - nameservers?: string; - dns_resolves?: boolean; - is_proxied?: boolean | null; - is_cloudflare_ip?: boolean | null; - is_fastly_ip?: boolean | null; - is_old_ip_address?: boolean | null; - is_a_record?: boolean | null; - has_cname_record?: boolean | null; - has_mx_records_present?: boolean | null; - is_valid_domain?: boolean; - is_apex_domain?: boolean; - should_be_a_record?: boolean | null; - is_cname_to_github_user_domain?: boolean | null; - is_cname_to_pages_dot_github_dot_com?: boolean | null; - is_cname_to_fastly?: boolean | null; - is_pointed_to_github_pages_ip?: boolean | null; - is_non_github_pages_ip_present?: boolean | null; - is_pages_domain?: boolean; - is_served_by_pages?: boolean | null; - is_valid?: boolean; - reason?: string | null; - responds_to_https?: boolean; - enforces_https?: boolean; - https_error?: string | null; - is_https_eligible?: boolean | null; - caa_error?: string | null; - }; - alt_domain?: { - host?: string; - uri?: string; - nameservers?: string; - dns_resolves?: boolean; - is_proxied?: boolean | null; - is_cloudflare_ip?: boolean | null; - is_fastly_ip?: boolean | null; - is_old_ip_address?: boolean | null; - is_a_record?: boolean | null; - has_cname_record?: boolean | null; - has_mx_records_present?: boolean | null; - is_valid_domain?: boolean; - is_apex_domain?: boolean; - should_be_a_record?: boolean | null; - is_cname_to_github_user_domain?: boolean | null; - is_cname_to_pages_dot_github_dot_com?: boolean | null; - is_cname_to_fastly?: boolean | null; - is_pointed_to_github_pages_ip?: boolean | null; - is_non_github_pages_ip_present?: boolean | null; - is_pages_domain?: boolean; - is_served_by_pages?: boolean | null; - is_valid?: boolean; - reason?: string | null; - responds_to_https?: boolean; - enforces_https?: boolean; - https_error?: string | null; - is_https_eligible?: boolean | null; - caa_error?: string | null; - } | null; - }; - /** - * Pull Request - * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. - */ - "pull-request": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 - */ - url: string; - /** @example 1 */ - id: number; - /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ - node_id: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347 - */ - html_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347.diff - */ - diff_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347.patch - */ - patch_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits - */ - commits_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments - */ - review_comments_url: string; - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ - review_comment_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments - */ - comments_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - statuses_url: string; - /** - * @description Number uniquely identifying the pull request within its repository. - * @example 42 - */ - number: number; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @example open - * @enum {string} - */ - state: "open" | "closed"; - /** @example true */ - locked: boolean; - /** - * @description The title of the pull request. - * @example Amazing new feature - */ - title: string; - user: components["schemas"]["simple-user"]; - /** @example Please pull these awesome changes */ - body: string | null; - labels: { - /** Format: int64 */ - id: number; - node_id: string; - url: string; - name: string; - description: string | null; - color: string; - default: boolean; - }[]; - milestone: components["schemas"]["nullable-milestone"]; - /** @example too heated */ - active_lock_reason?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - merged_at: string | null; - /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ - merge_commit_sha: string | null; - assignee: components["schemas"]["nullable-simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - requested_reviewers?: components["schemas"]["simple-user"][] | null; - requested_teams?: components["schemas"]["team-simple"][] | null; - head: { - label: string; - ref: string; - repo: { - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - /** Format: uri */ - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_discussions: boolean; - /** Format: uri */ - homepage: string | null; - language: string | null; - master_branch?: string; - archived: boolean; - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: uri */ - mirror_url: string | null; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: { - key: string; - name: string; - /** Format: uri */ - url: string | null; - spdx_id: string | null; - node_id: string; - } | null; - /** Format: date-time */ - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - /** Format: uri */ - svn_url: string; - topics?: string[]; - watchers: number; - watchers_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - allow_forking?: boolean; - is_template?: boolean; - web_commit_signoff_required?: boolean; - } | null; - sha: string; - user: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - }; - base: { - label: string; - ref: string; - repo: { - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - id: number; - is_template?: boolean; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - /** Format: uri */ - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_discussions: boolean; - /** Format: uri */ - homepage: string | null; - language: string | null; - master_branch?: string; - archived: boolean; - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: uri */ - mirror_url: string | null; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: components["schemas"]["nullable-license-simple"]; - /** Format: date-time */ - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - /** Format: uri */ - svn_url: string; - topics?: string[]; - watchers: number; - watchers_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - allow_forking?: boolean; - web_commit_signoff_required?: boolean; - }; - sha: string; - user: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; - }; - author_association: components["schemas"]["author-association"]; - auto_merge: components["schemas"]["auto-merge"]; - /** - * @description Indicates whether or not the pull request is a draft. - * @example false - */ - draft?: boolean; - merged: boolean; - /** @example true */ - mergeable: boolean | null; - /** @example true */ - rebaseable?: boolean | null; - /** @example clean */ - mergeable_state: string; - merged_by: components["schemas"]["nullable-simple-user"]; - /** @example 10 */ - comments: number; - /** @example 0 */ - review_comments: number; - /** - * @description Indicates whether maintainers can modify the pull request. - * @example true - */ - maintainer_can_modify: boolean; - /** @example 3 */ - commits: number; - /** @example 100 */ - additions: number; - /** @example 3 */ - deletions: number; - /** @example 5 */ - changed_files: number; - }; - /** - * Pull Request Merge Result - * @description Pull Request Merge Result - */ - "pull-request-merge-result": { - sha: string; - merged: boolean; - message: string; - }; - /** - * Pull Request Review Request - * @description Pull Request Review Request - */ - "pull-request-review-request": { - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; - }; - /** - * Pull Request Review - * @description Pull Request Reviews are reviews on pull requests. - */ - "pull-request-review": { - /** - * @description Unique identifier of the review - * @example 42 - */ - id: number; - /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ - node_id: string; - user: components["schemas"]["nullable-simple-user"]; - /** - * @description The text of the review. - * @example This looks great. - */ - body: string; - /** @example CHANGES_REQUESTED */ - state: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 - */ - pull_request_url: string; - _links: { - html: { - href: string; - }; - pull_request: { - href: string; - }; - }; - /** Format: date-time */ - submitted_at?: string; - /** - * @description A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. - * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 - */ - commit_id: string | null; - body_html?: string; - body_text?: string; - author_association: components["schemas"]["author-association"]; - }; - /** - * Legacy Review Comment - * @description Legacy Review Comment - */ - "review-comment": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 - */ - url: string; - /** @example 42 */ - pull_request_review_id: number | null; - /** @example 10 */ - id: number; - /** @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw */ - node_id: string; - /** @example @@ -16,33 +16,40 @@ public class Connection : IConnection... */ - diff_hunk: string; - /** @example file1.txt */ - path: string; - /** @example 1 */ - position: number | null; - /** @example 4 */ - original_position: number; - /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ - commit_id: string; - /** @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 */ - original_commit_id: string; - /** @example 8 */ - in_reply_to_id?: number; - user: components["schemas"]["nullable-simple-user"]; - /** @example Great stuff */ - body: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - updated_at: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 - */ - pull_request_url: string; - author_association: components["schemas"]["author-association"]; - _links: { - self: components["schemas"]["link"]; - html: components["schemas"]["link"]; - pull_request: components["schemas"]["link"]; - }; - body_text?: string; - body_html?: string; - reactions?: components["schemas"]["reaction-rollup"]; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side?: "LEFT" | "RIGHT" | null; - /** - * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment - * @example 2 - */ - line?: number; - /** - * @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment - * @example 2 - */ - original_line?: number; - /** - * @description The first line of the range for a multi-line comment. - * @example 2 - */ - start_line?: number | null; - /** - * @description The original first line of the range for a multi-line comment. - * @example 2 - */ - original_start_line?: number | null; - }; - /** - * Release Asset - * @description Data related to a release. - */ - "release-asset": { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** - * @description The file name of the asset. - * @example Team Environment - */ - name: string; - label: string | null; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - uploader: components["schemas"]["nullable-simple-user"]; - }; - /** - * Release - * @description A release. - */ - release: { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** - * @description The name of the tag. - * @example v1.0.0 - */ - tag_name: string; - /** - * @description Specifies the commitish value that determines where the Git tag is created from. - * @example master - */ - target_commitish: string; - name: string | null; - body?: string | null; - /** - * @description true to create a draft (unpublished) release, false to create a published one. - * @example false - */ - draft: boolean; - /** - * @description Whether to identify the release as a prerelease or a full release. - * @example false - */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - author: components["schemas"]["simple-user"]; - assets: components["schemas"]["release-asset"][]; - body_html?: string; - body_text?: string; - mentions_count?: number; - /** - * Format: uri - * @description The URL of the release discussion. - */ - discussion_url?: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Generated Release Notes Content - * @description Generated name and body describing a release - */ - "release-notes-content": { - /** - * @description The generated name of the release - * @example Release v1.0.0 is now available! - */ - name: string; - /** @description The generated body describing the contents of the release supporting markdown formatting */ - body: string; - }; - /** - * repository ruleset data for rule - * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. - */ - "repository-rule-ruleset-info": { - /** - * @description The type of source for the ruleset that includes this rule. - * @enum {string} - */ - ruleset_source_type?: "Repository" | "Organization"; - /** @description The name of the source of the ruleset that includes this rule. */ - ruleset_source?: string; - /** @description The ID of the ruleset that includes this rule. */ - ruleset_id?: number; - }; - /** - * Repository Rule - * @description A repository rule with ruleset details. - */ - "repository-rule-detailed": - | (components["schemas"]["repository-rule-creation"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-update"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-deletion"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-required-linear-history"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-required-deployments"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-required-signatures"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-pull-request"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-required-status-checks"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-non-fast-forward"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-commit-message-pattern"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-commit-author-email-pattern"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-committer-email-pattern"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-branch-name-pattern"] & - components["schemas"]["repository-rule-ruleset-info"]) - | (components["schemas"]["repository-rule-tag-name-pattern"] & - components["schemas"]["repository-rule-ruleset-info"]); - "secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["nullable-alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: components["schemas"]["nullable-simple-user"]; - /** @description An optional comment to resolve an alert. */ - resolution_comment?: string | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - }; - /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */ - "secret-scanning-alert-resolution-comment": string | null; - /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ - "secret-scanning-location-commit": { - /** - * @description The file path in the repository - * @example /example/secrets.txt - */ - path: string; - /** @description Line number at which the secret starts in the file */ - start_line: number; - /** @description Line number at which the secret ends in the file */ - end_line: number; - /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ - start_column: number; - /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ - end_column: number; - /** - * @description SHA-1 hash ID of the associated blob - * @example af5626b4a114abcb82d63db7c8082c3c4756e51b - */ - blob_sha: string; - /** @description The API URL to get the associated blob resource */ - blob_url: string; - /** - * @description SHA-1 hash ID of the associated commit - * @example af5626b4a114abcb82d63db7c8082c3c4756e51b - */ - commit_sha: string; - /** @description The API URL to get the associated commit resource */ - commit_url: string; - }; - /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ - "secret-scanning-location-issue-title": { - /** - * Format: uri - * @description The API URL to get the issue where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_title_url: string; - }; - /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ - "secret-scanning-location-issue-body": { - /** - * Format: uri - * @description The API URL to get the issue where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_body_url: string; - }; - /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ - "secret-scanning-location-issue-comment": { - /** - * Format: uri - * @description The API URL to get the issue comment where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 - */ - issue_comment_url: string; - }; - "secret-scanning-location": { - /** - * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. - * @example commit - * @enum {string} - */ - type: "commit" | "issue_title" | "issue_body" | "issue_comment"; - details: - | components["schemas"]["secret-scanning-location-commit"] - | components["schemas"]["secret-scanning-location-issue-title"] - | components["schemas"]["secret-scanning-location-issue-body"] - | components["schemas"]["secret-scanning-location-issue-comment"]; - }; - "repository-advisory-create": { - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory impacts. */ - description: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id?: string | null; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities: { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - }[]; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** @description A list of users receiving credit for their participation in the security advisory. */ - credits?: - | { - /** @description The username of the user credited. */ - login: string; - type: components["schemas"]["security-advisory-credit-types"]; - }[] - | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - }; - "private-vulnerability-report-create": { - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory impacts. */ - description: string; - /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: - | { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - }[] - | null; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - }; - "repository-advisory-update": { - /** @description A short summary of the advisory. */ - summary?: string; - /** @description A detailed description of what the advisory impacts. */ - description?: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id?: string | null; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: { - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - }[]; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** @description A list of users receiving credit for their participation in the security advisory. */ - credits?: - | { - /** @description The username of the user credited. */ - login: string; - type: components["schemas"]["security-advisory-credit-types"]; - }[] - | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - /** - * @description The state of the advisory. - * @enum {string} - */ - state?: "published" | "closed" | "draft"; - /** @description A list of usernames who have been granted write access to the advisory. */ - collaborating_users?: string[] | null; - /** @description A list of team slugs which have been granted write access to the advisory. */ - collaborating_teams?: string[] | null; - }; - /** - * Stargazer - * @description Stargazer - */ - stargazer: { - /** Format: date-time */ - starred_at: string; - user: components["schemas"]["nullable-simple-user"]; - }; - /** - * Code Frequency Stat - * @description Code Frequency Stat - */ - "code-frequency-stat": number[]; - /** - * Commit Activity - * @description Commit Activity - */ - "commit-activity": { - /** - * @example [ - * 0, - * 3, - * 26, - * 20, - * 39, - * 1, - * 0 - * ] - */ - days: number[]; - /** @example 89 */ - total: number; - /** @example 1336280400 */ - week: number; - }; - /** - * Contributor Activity - * @description Contributor Activity - */ - "contributor-activity": { - author: components["schemas"]["nullable-simple-user"]; - /** @example 135 */ - total: number; - /** - * @example [ - * { - * "w": "1367712000", - * "a": 6898, - * "d": 77, - * "c": 10 - * } - * ] - */ - weeks: { - w?: number; - a?: number; - d?: number; - c?: number; - }[]; - }; - /** Participation Stats */ - "participation-stats": { - all: number[]; - owner: number[]; - }; - /** - * Repository Invitation - * @description Repository invitations let you manage who you collaborate with. - */ - "repository-subscription": { - /** - * @description Determines if notifications should be received from this repository. - * @example true - */ - subscribed: boolean; - /** @description Determines if all notifications should be blocked from this repository. */ - ignored: boolean; - reason: string | null; - /** - * Format: date-time - * @example 2012-10-06T21:34:12Z - */ - created_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/subscription - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example - */ - repository_url: string; - }; - /** - * Tag - * @description Tag - */ - tag: { - /** @example v0.1 */ - name: string; - commit: { - sha: string; - /** Format: uri */ - url: string; - }; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/zipball/v0.1 - */ - zipball_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/tarball/v0.1 - */ - tarball_url: string; - node_id: string; - }; - /** - * Tag protection - * @description Tag protection - */ - "tag-protection": { - /** @example 2 */ - id?: number; - /** @example 2011-01-26T19:01:12Z */ - created_at?: string; - /** @example 2011-01-26T19:01:12Z */ - updated_at?: string; - /** @example true */ - enabled?: boolean; - /** @example v1.* */ - pattern: string; - }; - /** - * Topic - * @description A topic aggregates entities that are related to a subject. - */ - topic: { - names: string[]; - }; - /** Traffic */ - traffic: { - /** Format: date-time */ - timestamp: string; - uniques: number; - count: number; - }; - /** - * Clone Traffic - * @description Clone Traffic - */ - "clone-traffic": { - /** @example 173 */ - count: number; - /** @example 128 */ - uniques: number; - clones: components["schemas"]["traffic"][]; - }; - /** - * Content Traffic - * @description Content Traffic - */ - "content-traffic": { - /** @example /github/hubot */ - path: string; - /** @example github/hubot: A customizable life embetterment robot. */ - title: string; - /** @example 3542 */ - count: number; - /** @example 2225 */ - uniques: number; - }; - /** - * Referrer Traffic - * @description Referrer Traffic - */ - "referrer-traffic": { - /** @example Google */ - referrer: string; - /** @example 4 */ - count: number; - /** @example 3 */ - uniques: number; - }; - /** - * View Traffic - * @description View Traffic - */ - "view-traffic": { - /** @example 14850 */ - count: number; - /** @example 3782 */ - uniques: number; - views: components["schemas"]["traffic"][]; - }; - /** Search Result Text Matches */ - "search-result-text-matches": { - object_url?: string; - object_type?: string | null; - property?: string; - fragment?: string; - matches?: { - text?: string; - indices?: number[]; - }[]; - }[]; - /** - * Code Search Result Item - * @description Code Search Result Item - */ - "code-search-result-item": { - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string; - /** Format: uri */ - html_url: string; - repository: components["schemas"]["minimal-repository"]; - score: number; - file_size?: number; - language?: string | null; - /** Format: date-time */ - last_modified_at?: string; - /** - * @example [ - * "73..77", - * "77..78" - * ] - */ - line_numbers?: string[]; - text_matches?: components["schemas"]["search-result-text-matches"]; - }; - /** - * Commit Search Result Item - * @description Commit Search Result Item - */ - "commit-search-result-item": { - /** Format: uri */ - url: string; - sha: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - comments_url: string; - commit: { - author: { - name: string; - email: string; - /** Format: date-time */ - date: string; - }; - committer: components["schemas"]["nullable-git-user"]; - comment_count: number; - message: string; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - url: string; - verification?: components["schemas"]["verification"]; - }; - author: components["schemas"]["nullable-simple-user"]; - committer: components["schemas"]["nullable-git-user"]; - parents: { - url?: string; - html_url?: string; - sha?: string; - }[]; - repository: components["schemas"]["minimal-repository"]; - score: number; - node_id: string; - text_matches?: components["schemas"]["search-result-text-matches"]; - }; - /** - * Issue Search Result Item - * @description Issue Search Result Item - */ - "issue-search-result-item": { - /** Format: uri */ - url: string; - /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - node_id: string; - number: number; - title: string; - locked: boolean; - active_lock_reason?: string | null; - assignees?: components["schemas"]["simple-user"][] | null; - user: components["schemas"]["nullable-simple-user"]; - labels: { - /** Format: int64 */ - id?: number; - node_id?: string; - url?: string; - name?: string; - color?: string; - default?: boolean; - description?: string | null; - }[]; - state: string; - state_reason?: string | null; - assignee: components["schemas"]["nullable-simple-user"]; - milestone: components["schemas"]["nullable-milestone"]; - comments: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: string | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - pull_request?: { - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - diff_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - patch_url: string | null; - /** Format: uri */ - url: string | null; - }; - body?: string; - score: number; - author_association: components["schemas"]["author-association"]; - draft?: boolean; - repository?: components["schemas"]["repository"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Label Search Result Item - * @description Label Search Result Item - */ - "label-search-result-item": { - id: number; - node_id: string; - /** Format: uri */ - url: string; - name: string; - color: string; - default: boolean; - description: string | null; - score: number; - text_matches?: components["schemas"]["search-result-text-matches"]; - }; - /** - * Repo Search Result Item - * @description Repo Search Result Item - */ - "repo-search-result-item": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: components["schemas"]["nullable-simple-user"]; - private: boolean; - /** Format: uri */ - html_url: string; - description: string | null; - fork: boolean; - /** Format: uri */ - url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - pushed_at: string; - /** Format: uri */ - homepage: string | null; - size: number; - stargazers_count: number; - watchers_count: number; - language: string | null; - forks_count: number; - open_issues_count: number; - master_branch?: string; - default_branch: string; - score: number; - /** Format: uri */ - forks_url: string; - keys_url: string; - collaborators_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri */ - hooks_url: string; - issue_events_url: string; - /** Format: uri */ - events_url: string; - assignees_url: string; - branches_url: string; - /** Format: uri */ - tags_url: string; - blobs_url: string; - git_tags_url: string; - git_refs_url: string; - trees_url: string; - statuses_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - commits_url: string; - git_commits_url: string; - comments_url: string; - issue_comment_url: string; - contents_url: string; - compare_url: string; - /** Format: uri */ - merges_url: string; - archive_url: string; - /** Format: uri */ - downloads_url: string; - issues_url: string; - pulls_url: string; - milestones_url: string; - notifications_url: string; - labels_url: string; - releases_url: string; - /** Format: uri */ - deployments_url: string; - git_url: string; - ssh_url: string; - clone_url: string; - /** Format: uri */ - svn_url: string; - forks: number; - open_issues: number; - watchers: number; - topics?: string[]; - /** Format: uri */ - mirror_url: string | null; - has_issues: boolean; - has_projects: boolean; - has_pages: boolean; - has_wiki: boolean; - has_downloads: boolean; - has_discussions?: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - license: components["schemas"]["nullable-license-simple"]; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - text_matches?: components["schemas"]["search-result-text-matches"]; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_forking?: boolean; - is_template?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** - * Topic Search Result Item - * @description Topic Search Result Item - */ - "topic-search-result-item": { - name: string; - display_name: string | null; - short_description: string | null; - description: string | null; - created_by: string | null; - released: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - featured: boolean; - curated: boolean; - score: number; - repository_count?: number | null; - /** Format: uri */ - logo_url?: string | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - related?: - | { - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - }[] - | null; - aliases?: - | { - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - }[] - | null; - }; - /** - * User Search Result Item - * @description User Search Result Item - */ - "user-search-result-item": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - score: number; - following_url: string; - gists_url: string; - starred_url: string; - events_url: string; - public_repos?: number; - public_gists?: number; - followers?: number; - following?: number; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - name?: string | null; - bio?: string | null; - /** Format: email */ - email?: string | null; - location?: string | null; - site_admin: boolean; - hireable?: boolean | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - blog?: string | null; - company?: string | null; - /** Format: date-time */ - suspended_at?: string | null; - }; - /** - * Private User - * @description Private User - */ - "private-user": { - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example monalisa octocat */ - name: string | null; - /** @example GitHub */ - company: string | null; - /** @example https://github.com/blog */ - blog: string | null; - /** @example San Francisco */ - location: string | null; - /** - * Format: email - * @example octocat@github.com - */ - email: string | null; - hireable: boolean | null; - /** @example There once was... */ - bio: string | null; - /** @example monalisa */ - twitter_username?: string | null; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - updated_at: string; - /** @example 81 */ - private_gists: number; - /** @example 100 */ - total_private_repos: number; - /** @example 100 */ - owned_private_repos: number; - /** @example 10000 */ - disk_usage: number; - /** @example 8 */ - collaborators: number; - /** @example true */ - two_factor_authentication: boolean; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; - }; - /** Format: date-time */ - suspended_at?: string | null; - business_plus?: boolean; - ldap_dn?: string; - }; - /** - * Codespaces Secret - * @description Secrets for a GitHub Codespace. - */ - "codespaces-secret": { - /** - * @description The name of the secret - * @example SECRET_NAME - */ - name: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description The type of repositories in the organization that the secret is visible to - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to can be retrieved - * @example https://api.github.com/user/secrets/SECRET_NAME/repositories - */ - selected_repositories_url: string; - }; - /** - * CodespacesUserPublicKey - * @description The public key used for setting user Codespaces' Secrets. - */ - "codespaces-user-public-key": { - /** - * @description The identifier for the key. - * @example 1234567 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= - */ - key: string; - }; - /** - * Fetches information about an export of a codespace. - * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest - */ - "codespace-export-details": { - /** - * @description State of the latest export - * @example succeeded | failed | in_progress - */ - state?: string | null; - /** - * Format: date-time - * @description Completion time of the last export operation - * @example 2021-01-01T19:01:12Z - */ - completed_at?: string | null; - /** - * @description Name of the exported branch - * @example codespace-monalisa-octocat-hello-world-g4wpq6h95q - */ - branch?: string | null; - /** - * @description Git commit SHA of the exported branch - * @example fd95a81ca01e48ede9f39c799ecbcef817b8a3b2 - */ - sha?: string | null; - /** - * @description Id for the export details - * @example latest - */ - id?: string; - /** - * @description Url for fetching export details - * @example https://api.github.com/user/codespaces/:name/exports/latest - */ - export_url?: string; - /** - * @description Web url for the exported branch - * @example https://github.com/octocat/hello-world/tree/:branch - */ - html_url?: string | null; - }; - /** - * Codespace - * @description A codespace. - */ - "codespace-with-full-repository": { - /** @example 1 */ - id: number; - /** - * @description Automatically generated name of this codespace. - * @example monalisa-octocat-hello-world-g4wpq6h95q - */ - name: string; - /** - * @description Display name for this codespace. - * @example bookish space pancake - */ - display_name?: string | null; - /** - * @description UUID identifying this codespace's environment. - * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 - */ - environment_id: string | null; - owner: components["schemas"]["simple-user"]; - billable_owner: components["schemas"]["simple-user"]; - repository: components["schemas"]["full-repository"]; - machine: components["schemas"]["nullable-codespace-machine"]; - /** - * @description Path to devcontainer.json from repo root used to create Codespace. - * @example .devcontainer/example/devcontainer.json - */ - devcontainer_path?: string | null; - /** - * @description Whether the codespace was created from a prebuild. - * @example false - */ - prebuild: boolean | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - updated_at: string; - /** - * Format: date-time - * @description Last known time this codespace was started. - * @example 2011-01-26T19:01:12Z - */ - last_used_at: string; - /** - * @description State of this codespace. - * @example Available - * @enum {string} - */ - state: - | "Unknown" - | "Created" - | "Queued" - | "Provisioning" - | "Available" - | "Awaiting" - | "Unavailable" - | "Deleted" - | "Moved" - | "Shutdown" - | "Archived" - | "Starting" - | "ShuttingDown" - | "Failed" - | "Exporting" - | "Updating" - | "Rebuilding"; - /** - * Format: uri - * @description API URL for this codespace. - */ - url: string; - /** @description Details about the codespace's git repository. */ - git_status: { - /** - * @description The number of commits the local repository is ahead of the remote. - * @example 0 - */ - ahead?: number; - /** - * @description The number of commits the local repository is behind the remote. - * @example 0 - */ - behind?: number; - /** @description Whether the local repository has unpushed changes. */ - has_unpushed_changes?: boolean; - /** @description Whether the local repository has uncommitted changes. */ - has_uncommitted_changes?: boolean; - /** - * @description The current branch (or SHA if in detached HEAD state) of the local repository. - * @example main - */ - ref?: string; - }; - /** - * @description The initally assigned location of a new codespace. - * @example WestUs2 - * @enum {string} - */ - location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; - /** - * @description The number of minutes of inactivity after which this codespace will be automatically stopped. - * @example 60 - */ - idle_timeout_minutes: number | null; - /** - * Format: uri - * @description URL to access this codespace on the web. - */ - web_url: string; - /** - * Format: uri - * @description API URL to access available alternate machine types for this codespace. - */ - machines_url: string; - /** - * Format: uri - * @description API URL to start this codespace. - */ - start_url: string; - /** - * Format: uri - * @description API URL to stop this codespace. - */ - stop_url: string; - /** - * Format: uri - * @description API URL to publish this codespace to a new repository. - */ - publish_url?: string | null; - /** - * Format: uri - * @description API URL for the Pull Request associated with this codespace, if any. - */ - pulls_url: string | null; - recent_folders: string[]; - runtime_constraints?: { - /** @description The privacy settings a user can select from when forwarding a port. */ - allowed_port_privacy_settings?: string[] | null; - }; - /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ - pending_operation?: boolean | null; - /** @description Text to show user when codespace is disabled by a pending operation */ - pending_operation_disabled_reason?: string | null; - /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ - idle_timeout_notice?: string | null; - /** - * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). - * @example 60 - */ - retention_period_minutes?: number | null; - /** - * Format: date-time - * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" - * @example 2011-01-26T20:01:12Z - */ - retention_expires_at?: string | null; - }; - /** - * Email - * @description Email - */ - email: { - /** - * Format: email - * @example octocat@github.com - */ - email: string; - /** @example true */ - primary: boolean; - /** @example true */ - verified: boolean; - /** @example public */ - visibility: string | null; - }; - /** - * GPG Key - * @description A unique encryption key - */ - "gpg-key": { - /** @example 3 */ - id: number; - /** @example Octocat's GPG Key */ - name?: string | null; - primary_key_id: number | null; - /** @example 3262EFF25BA0D270 */ - key_id: string; - /** @example xsBNBFayYZ... */ - public_key: string; - /** - * @example [ - * { - * "email": "octocat@users.noreply.github.com", - * "verified": true - * } - * ] - */ - emails: { - email?: string; - verified?: boolean; - }[]; - /** - * @example [ - * { - * "id": 4, - * "primary_key_id": 3, - * "key_id": "4A595D4C72EE49C7", - * "public_key": "zsBNBFayYZ...", - * "emails": [], - * "can_sign": false, - * "can_encrypt_comms": true, - * "can_encrypt_storage": true, - * "can_certify": false, - * "created_at": "2016-03-24T11:31:04-06:00", - * "expires_at": null, - * "revoked": false - * } - * ] - */ - subkeys: { - id?: number; - primary_key_id?: number; - key_id?: string; - public_key?: string; - emails?: { - email?: string; - verified?: boolean; - }[]; - subkeys?: unknown[]; - can_sign?: boolean; - can_encrypt_comms?: boolean; - can_encrypt_storage?: boolean; - can_certify?: boolean; - created_at?: string; - expires_at?: string | null; - raw_key?: string | null; - revoked?: boolean; - }[]; - /** @example true */ - can_sign: boolean; - can_encrypt_comms: boolean; - can_encrypt_storage: boolean; - /** @example true */ - can_certify: boolean; - /** - * Format: date-time - * @example 2016-03-24T11:31:04-06:00 - */ - created_at: string; - /** Format: date-time */ - expires_at: string | null; - /** @example true */ - revoked: boolean; - raw_key: string | null; - }; - /** - * Key - * @description Key - */ - key: { - key: string; - id: number; - url: string; - title: string; - /** Format: date-time */ - created_at: string; - verified: boolean; - read_only: boolean; - }; - /** Marketplace Account */ - "marketplace-account": { - /** Format: uri */ - url: string; - id: number; - type: string; - node_id?: string; - login: string; - /** Format: email */ - email?: string | null; - /** Format: email */ - organization_billing_email?: string | null; - }; - /** - * User Marketplace Purchase - * @description User Marketplace Purchase - */ - "user-marketplace-purchase": { - /** @example monthly */ - billing_cycle: string; - /** - * Format: date-time - * @example 2017-11-11T00:00:00Z - */ - next_billing_date: string | null; - unit_count: number | null; - /** @example true */ - on_free_trial: boolean; - /** - * Format: date-time - * @example 2017-11-11T00:00:00Z - */ - free_trial_ends_on: string | null; - /** - * Format: date-time - * @example 2017-11-02T01:12:12Z - */ - updated_at: string | null; - account: components["schemas"]["marketplace-account"]; - plan: components["schemas"]["marketplace-listing-plan"]; - }; - /** - * Social account - * @description Social media account - */ - "social-account": { - /** @example linkedin */ - provider: string; - /** @example https://www.linkedin.com/company/github/ */ - url: string; - }; - /** - * SSH Signing Key - * @description A public SSH key used to sign Git commits - */ - "ssh-signing-key": { - key: string; - id: number; - title: string; - /** Format: date-time */ - created_at: string; - }; - /** - * Starred Repository - * @description Starred Repository - */ - "starred-repository": { - /** Format: date-time */ - starred_at: string; - repo: components["schemas"]["repository"]; - }; - /** - * Hovercard - * @description Hovercard - */ - hovercard: { - contexts: { - message: string; - octicon: string; - }[]; - }; - /** - * Key Simple - * @description Key Simple - */ - "key-simple": { - id: number; - key: string; - }; - /** - * Enterprise - * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - * on an enterprise account or an organization that's part of an enterprise account. For more information, - * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - */ - "enterprise-webhooks": { - /** @description A short description of the enterprise. */ - description?: string | null; - /** - * Format: uri - * @example https://github.com/enterprises/octo-business - */ - html_url: string; - /** - * Format: uri - * @description The enterprise's website URL. - */ - website_url?: string | null; - /** - * @description Unique identifier of the enterprise - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the enterprise. - * @example Octo Business - */ - name: string; - /** - * @description The slug url identifier for the enterprise. - * @example octo-business - */ - slug: string; - /** - * Format: date-time - * @example 2019-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2019-01-26T19:14:43Z - */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }; - /** - * Simple Installation - * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - * for and sent to a GitHub App. For more information, - * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - */ - "simple-installation": { - /** - * @description The ID of the installation. - * @example 1 - */ - id: number; - /** - * @description The global node ID of the installation. - * @example MDQ6VXNlcjU4MzIzMQ== - */ - node_id: string; - }; - /** - * Organization Simple - * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - * organization, or when the event occurs from activity in a repository owned by an organization. - */ - "organization-simple-webhooks": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - }; - /** - * Repository - * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - * when the event occurs from activity in a repository. - */ - "repository-webhooks": { - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** - * Simple User - * @description The GitHub user that triggered the event. This property is included in every webhook payload. - */ - "simple-user-webhooks": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description A suite of checks performed on the code of a given code change */ - "simple-check-suite": { - /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ - after?: string | null; - app?: components["schemas"]["integration"]; - /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ - before?: string | null; - /** - * @example neutral - * @enum {string|null} - */ - conclusion?: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "skipped" - | "timed_out" - | "action_required" - | "stale" - | "startup_failure" - | null; - /** Format: date-time */ - created_at?: string; - /** @example master */ - head_branch?: string | null; - /** - * @description The SHA of the head commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha?: string; - /** @example 5 */ - id?: number; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id?: string; - pull_requests?: components["schemas"]["pull-request-minimal"][]; - repository?: components["schemas"]["minimal-repository"]; - /** - * @example completed - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; - /** Format: date-time */ - updated_at?: string; - /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ - url?: string; - }; - /** - * CheckRun - * @description A check performed on the code of a given code change - */ - "check-run-with-simple-check-suite": { - app: components["schemas"]["nullable-integration"]; - check_suite: components["schemas"]["simple-check-suite"]; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - completed_at: string | null; - /** - * @example neutral - * @enum {string|null} - */ - conclusion: - | "waiting" - | "pending" - | "startup_failure" - | "stale" - | "success" - | "failure" - | "neutral" - | "cancelled" - | "skipped" - | "timed_out" - | "action_required" - | null; - deployment?: components["schemas"]["deployment-simple"]; - /** @example https://example.com */ - details_url: string; - /** @example 42 */ - external_id: string; - /** - * @description The SHA of the commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** @example https://github.com/github/hello-world/runs/4 */ - html_url: string; - /** - * @description The id of the check. - * @example 21 - */ - id: number; - /** - * @description The name of the check. - * @example test-coverage - */ - name: string; - /** @example MDg6Q2hlY2tSdW40 */ - node_id: string; - output: { - annotations_count: number; - /** Format: uri */ - annotations_url: string; - summary: string | null; - text: string | null; - title: string | null; - }; - pull_requests: components["schemas"]["pull-request-minimal"][]; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - started_at: string; - /** - * @description The phase of the lifecycle that the check is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "pending"; - /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ - url: string; - }; - /** - * Discussion - * @description A Discussion in a repository. - */ - discussion: { - active_lock_reason: string | null; - answer_chosen_at: string | null; - /** User */ - answer_chosen_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - answer_html_url: string | null; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** - * @description The current state of the discussion. - * `converting` means that the discussion is being converted from an issue. - * `transferring` means that the discussion is being transferred from another repository. - * @enum {string} - */ - state: "open" | "closed" | "locked" | "converting" | "transferring"; - /** - * @description The reason for the current state - * @example resolved - * @enum {string|null} - */ - state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** - * Merge Group - * @description A group of pull requests that the merge queue has grouped together to be merged. - */ - "merge-group": { - /** @description The SHA of the merge group. */ - head_sha: string; - /** @description The full ref of the merge group. */ - head_ref: string; - /** @description The SHA of the merge group's parent commit. */ - base_sha: string; - /** @description The full ref of the branch the merge group will be merged into. */ - base_ref: string; - head_commit: components["schemas"]["simple-commit"]; - }; - /** - * Repository - * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - * when the event occurs from activity in a repository. - */ - "nullable-repository-webhooks": { - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - /** - * Personal Access Token Request - * @description Details of a Personal Access Token Request. - */ - "personal-access-token-request": { - /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ - id: number; - owner: components["schemas"]["simple-user"]; - /** @description New requested permissions, categorized by type of permission. */ - permissions_added: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ - permissions_upgraded: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ - permissions_result: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repository_count: number | null; - /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repositories: - | { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[] - | null; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Projects v2 Project - * @description A projects v2 project - */ - "projects-v2": { - id: number; - node_id: string; - owner: components["schemas"]["simple-user"]; - creator: components["schemas"]["simple-user"]; - title: string; - description: string | null; - public: boolean; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - created_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - updated_at: string; - number: number; - short_description: string | null; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - deleted_at: string | null; - deleted_by: components["schemas"]["nullable-simple-user"]; - }; - /** - * Projects v2 Item Content Type - * @description The type of content tracked in a project item - * @enum {string} - */ - "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; - /** - * Projects v2 Item - * @description An item belonging to a project - */ - "projects-v2-item": { - id: number; - node_id?: string; - project_node_id?: string; - content_node_id: string; - content_type: components["schemas"]["projects-v2-item-content-type"]; - creator?: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - created_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - archived_at: string | null; - }; - /** - * @description The reason for resolving the alert. - * @enum {string|null} - */ - "secret-scanning-alert-resolution-webhook": - | "false_positive" - | "wont_fix" - | "revoked" - | "used_in_tests" - | "pattern_deleted" - | "pattern_edited" - | null; - "secret-scanning-alert-webhook": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["nullable-alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: components["schemas"]["nullable-simple-user"]; - /** @description An optional comment to resolve an alert. */ - resolution_comment?: string | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - }; - /** branch protection configuration disabled event */ - "webhook-branch-protection-configuration-disabled": { - /** @enum {string} */ - action: "disabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection configuration enabled event */ - "webhook-branch-protection-configuration-enabled": { - /** @enum {string} */ - action: "enabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection rule created event */ - "webhook-branch-protection-rule-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection rule deleted event */ - "webhook-branch-protection-rule-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection rule edited event */ - "webhook-branch-protection-rule-edited": { - /** @enum {string} */ - action: "edited"; - /** @description If the action was `edited`, the changes to the rule. */ - changes?: { - admin_enforced?: { - from: boolean | null; - }; - authorized_actor_names?: { - from: string[]; - }; - authorized_actors_only?: { - from: boolean | null; - }; - authorized_dismissal_actors_only?: { - from: boolean | null; - }; - linear_history_requirement_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - required_status_checks?: { - from: string[]; - }; - required_status_checks_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: - | "off" - | "non_admins" - | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Check Run Completed Event */ - "webhook-check-run-completed": { - /** @enum {string} */ - action?: "completed"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Completed Event - * @description The check_run.completed webhook encoded with URL encoding - */ - "webhook-check-run-completed-form-encoded": { - /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Created Event */ - "webhook-check-run-created": { - /** @enum {string} */ - action?: "created"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Created Event - * @description The check_run.created webhook encoded with URL encoding - */ - "webhook-check-run-created-form-encoded": { - /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Requested Action Event */ - "webhook-check-run-requested-action": { - /** @enum {string} */ - action: "requested_action"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** @description The action requested by the user. */ - requested_action?: { - /** @description The integrator reference of the action requested by the user. */ - identifier?: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Requested Action Event - * @description The check_run.requested_action webhook encoded with URL encoding - */ - "webhook-check-run-requested-action-form-encoded": { - /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Re-Requested Event */ - "webhook-check-run-rerequested": { - /** @enum {string} */ - action?: "rerequested"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Re-Requested Event - * @description The check_run.rerequested webhook encoded with URL encoding - */ - "webhook-check-run-rerequested-form-encoded": { - /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** check_suite completed event */ - "webhook-check-suite-completed": { - /** @enum {string} */ - action: "completed"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "merge_group" - | "pull_request_review_thread" - | "workflow_job" - | "merge_queue_entry" - | "security_and_analysis" - | "projects_v2_item" - | "secret_scanning_alert_location" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has `completed`. - * @enum {string|null} - */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null - | "skipped" - | "startup_failure"; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; - /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} - */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | null - | "pending"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** check_suite requested event */ - "webhook-check-suite-requested": { - /** @enum {string} */ - action: "requested"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "pull_request_review_thread" - | "workflow_job" - | "merge_queue_entry" - | "security_and_analysis" - | "secret_scanning_alert_location" - | "projects_v2_item" - | "merge_group" - | "repository_import" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null - | "skipped"; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; - /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} - */ - status: "requested" | "in_progress" | "completed" | "queued" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** check_suite rerequested event */ - "webhook-check-suite-rerequested": { - /** @enum {string} */ - action: "rerequested"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "pull_request_review_thread" - | "merge_queue_entry" - | "workflow_job" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; - /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} - */ - status: "requested" | "in_progress" | "completed" | "queued" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert appeared_in_branch event */ - "webhook-code-scanning-alert-appeared-in-branch": { - /** @enum {string} */ - action: "appeared_in_branch"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: string | null; - /** User */ - dismissed_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} - */ - dismissed_reason: - | "false positive" - | "won't fix" - | "used in tests" - | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert closed_by_user event */ - "webhook-code-scanning-alert-closed-by-user": { - /** @enum {string} */ - action: "closed_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: string; - /** User */ - dismissed_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} - */ - dismissed_reason: - | "false positive" - | "won't fix" - | "used in tests" - | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "dismissed" | "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert created event */ - "webhook-code-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string | null; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: Record | null; - dismissed_by: Record | null; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: Record | null; - fixed_at?: Record | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - } | null; - updated_at?: string | null; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert fixed event */ - "webhook-code-scanning-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - dismissed_at: string | null; - /** User */ - dismissed_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} - */ - dismissed_reason: - | "false positive" - | "won't fix" - | "used in tests" - | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Format: uri */ - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert reopened event */ - "webhook-code-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: string | null; - dismissed_by: Record | null; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: string | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - } | null; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string | null; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert reopened_by_user event */ - "webhook-code-scanning-alert-reopened-by-user": { - /** @enum {string} */ - action: "reopened_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` - */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: Record | null; - dismissed_by: Record | null; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: Record | null; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: { - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - } | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - }; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** commit_comment created event */ - "webhook-commit-comment-created": { - /** - * @description The action performed. Can be `created`. - * @enum {string} - */ - action: "created"; - /** @description The [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment) resource. */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - created_at: string; - /** Format: uri */ - html_url: string; - /** @description The ID of the commit comment. */ - id: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the commit comment. */ - node_id: string; - /** @description The relative path of the file to which the comment applies. */ - path: string | null; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** create event */ - "webhook-create": { - /** @description The repository's current description. */ - description: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The name of the repository's default branch (usually `main`). */ - master_branch: string; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ - ref: string; - /** - * @description The type of Git ref object created in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** delete event */ - "webhook-delete": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ - ref: string; - /** - * @description The type of Git ref object deleted in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert auto-dismissed event */ - "webhook-dependabot-alert-auto-dismissed": { - /** @enum {string} */ - action: "auto_dismissed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert auto-reopened event */ - "webhook-dependabot-alert-auto-reopened": { - /** @enum {string} */ - action: "auto_reopened"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert created event */ - "webhook-dependabot-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert dismissed event */ - "webhook-dependabot-alert-dismissed": { - /** @enum {string} */ - action: "dismissed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert fixed event */ - "webhook-dependabot-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert reintroduced event */ - "webhook-dependabot-alert-reintroduced": { - /** @enum {string} */ - action: "reintroduced"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert reopened event */ - "webhook-dependabot-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** deploy_key created event */ - "webhook-deploy-key-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ - key: { - added_by?: string | null; - created_at: string; - id: number; - key: string; - last_used?: string | null; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** deploy_key deleted event */ - "webhook-deploy-key-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ - key: { - added_by?: string | null; - created_at: string; - id: number; - key: string; - last_used?: string | null; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** deployment created event */ - "webhook-deployment-created": { - /** @enum {string} */ - action: "created"; - /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). - */ - deployment: { - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: Record | string; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "workflow_job" - | "pull_request_review_thread" - | "merge_queue_entry" - | "secret_scanning_alert_location" - | "merge_group" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - /** Deployment Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: Record | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: Record | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: Record | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | "waiting" - | "pending"; - /** User */ - triggering_actor?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - } | null; - }; - /** deployment protection rule requested event */ - "webhook-deployment-protection-rule-requested": { - /** @enum {string} */ - action?: "requested"; - /** @description The name of the environment that has the deployment protection rule. */ - environment?: string; - /** @description The event that triggered the deployment protection rule. */ - event?: string; - /** - * Format: uri - * @description The URL to review the deployment protection rule. - */ - deployment_callback_url?: string; - deployment?: components["schemas"]["deployment"]; - pull_requests?: components["schemas"]["pull-request"][]; - repository?: components["schemas"]["repository-webhooks"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-deployment-review-approved": { - /** @enum {string} */ - action: "approved"; - approver?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - comment?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - reviewers?: { - /** User */ - reviewer?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @enum {string} */ - type?: "User"; - }[]; - sender: components["schemas"]["simple-user-webhooks"]; - since: string; - workflow_job_run?: { - conclusion: Record | null; - created_at: string; - environment: string; - html_url: string; - id: number; - name: Record | null; - status: string; - updated_at: string; - }; - workflow_job_runs?: { - conclusion?: Record | null; - created_at?: string; - environment?: string; - html_url?: string; - id?: number; - name?: string | null; - status?: string; - updated_at?: string; - }[]; - /** Deployment Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | "waiting" - | "pending"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - } | null; - }; - "webhook-deployment-review-rejected": { - /** @enum {string} */ - action: "rejected"; - approver?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - comment?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - reviewers?: { - /** User */ - reviewer?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @enum {string} */ - type?: "User"; - }[]; - sender: components["schemas"]["simple-user-webhooks"]; - since: string; - workflow_job_run?: { - conclusion: Record | null; - created_at: string; - environment: string; - html_url: string; - id: number; - name: Record | null; - status: string; - updated_at: string; - }; - workflow_job_runs?: { - conclusion?: string | null; - created_at?: string; - environment?: string; - html_url?: string; - id?: number; - name?: string | null; - status?: string; - updated_at?: string; - }[]; - /** Deployment Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | "waiting"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - display_title: string; - } | null; - }; - "webhook-deployment-review-requested": { - /** @enum {string} */ - action: "requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - environment: string; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requestor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - reviewers: { - /** User */ - reviewer?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @enum {string} */ - type?: "User" | "Team"; - }[]; - sender: components["schemas"]["simple-user-webhooks"]; - since: string; - workflow_job_run: { - conclusion: Record | null; - created_at: string; - environment: string; - html_url: string; - id: number; - name: string | null; - status: string; - updated_at: string; - }; - /** Deployment Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | "waiting" - | "pending"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - display_title: string; - } | null; - }; - /** deployment_status created event */ - "webhook-deployment-status-created": { - /** @enum {string} */ - action: "created"; - check_run?: { - /** Format: date-time */ - completed_at: string | null; - /** - * @description The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | "skipped" - | null; - /** Format: uri */ - details_url: string; - external_id: string; - /** @description The SHA of the commit that is being checked. */ - head_sha: string; - /** Format: uri */ - html_url: string; - /** @description The id of the check. */ - id: number; - /** @description The name of the check run. */ - name: string; - node_id: string; - /** Format: date-time */ - started_at: string; - /** - * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; - /** Format: uri */ - url: string; - } | null; - /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). - */ - deployment: { - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: string | Record | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "merge_queue_entry" - | "workflow_job" - | "pull_request_review_thread" - | "secret_scanning_alert_location" - | "merge_group" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ - url: string; - }; - /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ - deployment_status: { - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - deployment_url: string; - /** @description The optional human-readable description added to the status. */ - description: string; - environment: string; - /** Format: uri */ - environment_url?: string; - id: number; - /** Format: uri */ - log_url?: string; - node_id: string; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "pull_request_review_thread" - | "merge_queue_entry" - | "workflow_job" - | "merge_group" - | "secret_scanning_alert_location" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - /** Format: uri */ - repository_url: string; - /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ - state: string; - /** @description The optional link added to the status. */ - target_url: string; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow?: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - /** Deployment Workflow Run */ - workflow_run?: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null - | "startup_failure"; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: Record | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: Record | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: Record | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | "waiting" - | "pending"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - } | null; - }; - /** discussion answered event */ - "webhook-discussion-answered": { - /** @enum {string} */ - action: "answered"; - answer: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - body: string; - child_comment_count: number; - /** Format: date-time */ - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: Record | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion category changed event */ - "webhook-discussion-category-changed": { - /** @enum {string} */ - action: "category_changed"; - changes: { - category: { - from: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - }; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion closed event */ - "webhook-discussion-closed": { - /** @enum {string} */ - action: "closed"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion_comment created event */ - "webhook-discussion-comment-created": { - /** @enum {string} */ - action: "created"; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion_comment deleted event */ - "webhook-discussion-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion_comment edited event */ - "webhook-discussion-comment-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body: { - from: string; - }; - }; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion created event */ - "webhook-discussion-created": { - /** @enum {string} */ - action: "created"; - discussion: { - active_lock_reason: string | null; - answer_chosen_at: string | null; - /** User */ - answer_chosen_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - answer_html_url: string | null; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - body: string | null; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - } & { - active_lock_reason?: Record | null; - answer_chosen_at: Record | null; - answer_chosen_by: Record | null; - answer_html_url: string | null; - author_association?: string; - body?: string | null; - category?: { - created_at?: string; - description?: string; - emoji?: string; - id?: number; - is_answerable?: boolean; - name?: string; - node_id?: string; - repository_id?: number; - slug?: string; - updated_at?: string; - }; - comments?: number; - created_at?: string; - html_url?: string; - id?: number; - /** @enum {boolean} */ - locked: false; - node_id?: string; - number?: number; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open" | "converting" | "transferring"; - timeline_url?: string; - title?: string; - updated_at?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion deleted event */ - "webhook-discussion-deleted": { - /** @enum {string} */ - action: "deleted"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion edited event */ - "webhook-discussion-edited": { - /** @enum {string} */ - action: "edited"; - changes?: { - body?: { - from: string; - }; - title?: { - from: string; - }; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion labeled event */ - "webhook-discussion-labeled": { - /** @enum {string} */ - action: "labeled"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion locked event */ - "webhook-discussion-locked": { - /** @enum {string} */ - action: "locked"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion pinned event */ - "webhook-discussion-pinned": { - /** @enum {string} */ - action: "pinned"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion reopened event */ - "webhook-discussion-reopened": { - /** @enum {string} */ - action: "reopened"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion transferred event */ - "webhook-discussion-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - new_discussion: components["schemas"]["discussion"]; - new_repository: components["schemas"]["repository-webhooks"]; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unanswered event */ - "webhook-discussion-unanswered": { - /** @enum {string} */ - action: "unanswered"; - discussion: components["schemas"]["discussion"]; - old_answer: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - body: string; - child_comment_count: number; - /** Format: date-time */ - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: Record | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unlabeled event */ - "webhook-discussion-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unlocked event */ - "webhook-discussion-unlocked": { - /** @enum {string} */ - action: "unlocked"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unpinned event */ - "webhook-discussion-unpinned": { - /** @enum {string} */ - action: "unpinned"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * fork event - * @description A user forks a repository. - */ - "webhook-fork": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ - forkee: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } & { - allow_forking?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - deployments_url?: string; - description?: string | null; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - /** @enum {boolean} */ - fork?: true; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: string | null; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: Record | null; - languages_url?: string; - license?: Record | null; - merges_url?: string; - milestones_url?: string; - mirror_url?: Record | null; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - public?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (Record | null)[]; - trees_url?: string; - updated_at?: string; - url?: string; - visibility?: string; - watchers?: number; - watchers_count?: number; - }; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** github_app_authorization revoked event */ - "webhook-github-app-authorization-revoked": { - /** @enum {string} */ - action: "revoked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** gollum event */ - "webhook-gollum": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pages that were updated. */ - pages: { - /** - * @description The action that was performed on the page. Can be `created` or `edited`. - * @enum {string} - */ - action: "created" | "edited"; - /** - * Format: uri - * @description Points to the HTML wiki page. - */ - html_url: string; - /** @description The name of the page. */ - page_name: string; - /** @description The latest commit SHA of the page. */ - sha: string; - summary: string | null; - /** @description The current page title. */ - title: string; - }[]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation created event */ - "webhook-installation-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - /** User */ - requester?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation deleted event */ - "webhook-installation-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: Record | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation new_permissions_accepted event */ - "webhook-installation-new-permissions-accepted": { - /** @enum {string} */ - action: "new_permissions_accepted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: Record | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation_repositories added event */ - "webhook-installation-repositories-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects, which were added to the installation. */ - repositories_added: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: { - full_name?: string; - /** @description Unique identifier of the repository */ - id?: number; - /** @description The name of the repository. */ - name?: string; - node_id?: string; - /** @description Whether the repository is private or public. */ - private?: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** User */ - requester: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation_repositories removed event */ - "webhook-installation-repositories-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects, which were added to the installation. */ - repositories_added: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** User */ - requester: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation suspend event */ - "webhook-installation-suspend": { - /** @enum {string} */ - action: "suspend"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: Record | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-installation-target-renamed": { - account: { - archived_at?: string | null; - avatar_url: string; - created_at?: string; - description?: Record | null; - events_url?: string; - followers?: number; - followers_url?: string; - following?: number; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - has_organization_projects?: boolean; - has_repository_projects?: boolean; - hooks_url?: string; - html_url: string; - id: number; - is_verified?: boolean; - issues_url?: string; - login?: string; - members_url?: string; - name?: string; - node_id: string; - organizations_url?: string; - public_gists?: number; - public_members_url?: string; - public_repos?: number; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - slug?: string; - starred_url?: string; - subscriptions_url?: string; - type?: string; - updated_at?: string; - url?: string; - website_url?: Record | null; - }; - /** @enum {string} */ - action: "renamed"; - changes: { - login?: { - from: string; - }; - slug?: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - target_type: string; - }; - /** installation unsuspend event */ - "webhook-installation-unsuspend": { - /** @enum {string} */ - action: "unsuspend"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: Record | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issue_comment created event */ - "webhook-issue-comment-created": { - /** @enum {string} */ - action: "created"; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "reminder" - | "pull_request_review_thread" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - } & { - active_lock_reason?: string | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issue_comment deleted event */ - "webhook-issue-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - } & { - active_lock_reason?: string | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issue_comment edited event */ - "webhook-issue-comment-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - }; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "reminder" - | "pull_request_review_thread" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - } & { - active_lock_reason?: string | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues assigned event */ - "webhook-issues-assigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "assigned"; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "reminder" - | "pull_request_review_thread" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues closed event */ - "webhook-issues-closed": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "security_and_analysis" - | "reminder" - | "pull_request_review_thread" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - } & { - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "closed" | "open"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues deleted event */ - "webhook-issues-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "reminder" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues demilestoned event */ - "webhook-issues-demilestoned": { - /** @enum {string} */ - action: "demilestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - } & { - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone?: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues edited event */ - "webhook-issues-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the issue. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - title?: { - /** @description The previous version of the title. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "security_and_analysis" - | "pull_request_review_thread" - | "reminder" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues labeled event */ - "webhook-issues-labeled": { - /** @enum {string} */ - action: "labeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "pull_request_review_thread" - | "reminder" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues locked event */ - "webhook-issues-locked": { - /** @enum {string} */ - action: "locked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "reminder" - | "security_and_analysis" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - } & { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - /** @enum {boolean} */ - locked: true; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues milestoned event */ - "webhook-issues-milestoned": { - /** @enum {string} */ - action: "milestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "reminder" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - } & { - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues opened event */ - "webhook-issues-opened": { - /** @enum {string} */ - action: "opened"; - changes?: { - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - old_issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - } | null; - /** - * Repository - * @description A git repository - */ - old_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "security_and_analysis" - | "pull_request_review_thread" - | "reminder" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues pinned event */ - "webhook-issues-pinned": { - /** @enum {string} */ - action: "pinned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues reopened event */ - "webhook-issues-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "pull_request_review_thread" - | "reminder" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - } & { - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues transferred event */ - "webhook-issues-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - new_issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** - * Repository - * @description A git repository - */ - new_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unassigned event */ - "webhook-issues-unassigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "unassigned"; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "reminder" - | "pull_request_review_thread" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unlabeled event */ - "webhook-issues-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - | "reminder" - | "pull_request_review_thread" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unlocked event */ - "webhook-issues-unlocked": { - /** @enum {string} */ - action: "unlocked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - } & { - active_lock_reason: Record | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - /** @enum {boolean} */ - locked: false; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unpinned event */ - "webhook-issues-unpinned": { - /** @enum {string} */ - action: "unpinned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ( - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "content_reference" - | "create" - | "delete" - | "deployment" - | "deployment_review" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "milestone" - | "organization" - | "org_block" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_dispatch" - | "secret_scanning_alert" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_dispatch" - | "workflow_run" - )[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - } | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** label created event */ - "webhook-label-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** label deleted event */ - "webhook-label-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** label edited event */ - "webhook-label-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the label if the action was `edited`. */ - changes?: { - color?: { - /** @description The previous version of the color if the action was `edited`. */ - from: string; - }; - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase cancelled event */ - "webhook-marketplace-purchase-cancelled": { - /** @enum {string} */ - action: "cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - } & { - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: Record | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase changed event */ - "webhook-marketplace-purchase-changed": { - /** @enum {string} */ - action: "changed"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - } & { - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean | null; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase pending_change event */ - "webhook-marketplace-purchase-pending-change": { - /** @enum {string} */ - action: "pending_change"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - } & { - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase pending_change_cancelled event */ - "webhook-marketplace-purchase-pending-change-cancelled": { - /** @enum {string} */ - action: "pending_change_cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: Record | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - } & { - next_billing_date: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: Record | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase purchased event */ - "webhook-marketplace-purchase-purchased": { - /** @enum {string} */ - action: "purchased"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - } & { - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: Record | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** member added event */ - "webhook-member-added": { - /** @enum {string} */ - action: "added"; - changes?: { - permission?: { - /** @enum {string} */ - to: "write" | "admin" | "read"; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** member edited event */ - "webhook-member-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the collaborator permissions */ - changes: { - old_permission?: { - /** @description The previous permissions of the collaborator if the action was edited. */ - from: string; - }; - permission?: { - from?: string | null; - to?: string | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** member removed event */ - "webhook-member-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** membership added event */ - "webhook-membership-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team"; - /** User */ - sender: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** @enum {string} */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** membership removed event */ - "webhook-membership-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team" | "organization"; - /** User */ - sender: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** @enum {string} */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - "webhook-merge-group-checks-requested": { - /** @enum {string} */ - action: "checks_requested"; - installation?: components["schemas"]["simple-installation"]; - merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-merge-group-destroyed": { - /** @enum {string} */ - action: "destroyed"; - /** - * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). - * @enum {string} - */ - reason?: "merged" | "invalidated" | "dequeued"; - installation?: components["schemas"]["simple-installation"]; - merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** meta deleted event */ - "webhook-meta-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ - hook: { - active: boolean; - config: { - /** @enum {string} */ - content_type: "json" | "form"; - insecure_ssl: string; - secret?: string; - /** Format: uri */ - url: string; - }; - created_at: string; - events: ( - | "*" - | "branch_protection_rule" - | "check_run" - | "check_suite" - | "code_scanning_alert" - | "commit_comment" - | "create" - | "delete" - | "deployment" - | "deployment_status" - | "deploy_key" - | "discussion" - | "discussion_comment" - | "fork" - | "gollum" - | "issues" - | "issue_comment" - | "label" - | "member" - | "membership" - | "meta" - | "milestone" - | "organization" - | "org_block" - | "package" - | "page_build" - | "project" - | "project_card" - | "project_column" - | "public" - | "pull_request" - | "pull_request_review" - | "pull_request_review_comment" - | "pull_request_review_thread" - | "push" - | "registry_package" - | "release" - | "repository" - | "repository_import" - | "repository_vulnerability_alert" - | "secret_scanning_alert" - | "secret_scanning_alert_location" - | "security_and_analysis" - | "star" - | "status" - | "team" - | "team_add" - | "watch" - | "workflow_job" - | "workflow_run" - | "repository_dispatch" - | "projects_v2_item" - )[]; - id: number; - name: string; - type: string; - updated_at: string; - }; - /** @description The id of the modified webhook. */ - hook_id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone closed event */ - "webhook-milestone-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone created event */ - "webhook-milestone-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone deleted event */ - "webhook-milestone-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone edited event */ - "webhook-milestone-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the milestone if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - due_on?: { - /** @description The previous version of the due date if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone opened event */ - "webhook-milestone-opened": { - /** @enum {string} */ - action: "opened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** org_block blocked event */ - "webhook-org-block-blocked": { - /** @enum {string} */ - action: "blocked"; - /** User */ - blocked_user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** org_block unblocked event */ - "webhook-org-block-unblocked": { - /** @enum {string} */ - action: "unblocked"; - /** User */ - blocked_user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization deleted event */ - "webhook-organization-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership?: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization member_added event */ - "webhook-organization-member-added": { - /** @enum {string} */ - action: "member_added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization member_invited event */ - "webhook-organization-member-invited": { - /** @enum {string} */ - action: "member_invited"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The invitation for the user or email if the action is `member_invited`. */ - invitation: { - /** Format: date-time */ - created_at: string; - email: string | null; - /** Format: date-time */ - failed_at: string | null; - failed_reason: string | null; - id: number; - /** Format: uri */ - invitation_teams_url: string; - /** User */ - inviter: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - login: string | null; - node_id: string; - role: string; - team_count: number; - invitation_source?: string; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** User */ - user?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** organization member_removed event */ - "webhook-organization-member-removed": { - /** @enum {string} */ - action: "member_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization renamed event */ - "webhook-organization-renamed": { - /** @enum {string} */ - action: "renamed"; - changes?: { - login?: { - from?: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership?: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Ruby Gems metadata */ - "webhook-rubygems-metadata": { - name?: string; - description?: string; - readme?: string; - homepage?: string; - version_info?: { - version?: string; - }; - platform?: string; - metadata?: { - [key: string]: string; - }; - repo?: string; - dependencies?: { - [key: string]: string; - }[]; - commit_oid?: string; - }; - /** package published event */ - "webhook-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description Information about the package. */ - package: { - created_at: string | null; - description: string | null; - ecosystem: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - package_type: string; - package_version: { - /** User */ - author?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - body?: string | Record; - body_html?: string; - container_metadata?: { - labels?: Record | null; - manifest?: Record | null; - tag?: { - digest?: string; - name?: string; - }; - } | null; - created_at?: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - /** Format: uri */ - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - npm_metadata?: { - name?: string; - version?: string; - npm_user?: string; - author?: Record | null; - bugs?: Record | null; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: Record | null; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: Record | null; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: Record[]; - contributors?: Record[]; - engines?: Record; - keywords?: string[]; - files?: string[]; - bin?: Record; - man?: Record; - directories?: Record | null; - os?: string[]; - cpu?: string[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - } | null; - nuget_metadata?: - | { - id?: number | string; - name?: string; - value?: OneOf< - [ - boolean, - string, - number, - { - url?: string; - branch?: string; - commit?: string; - type?: string; - }, - ] - >; - }[] - | null; - package_files: { - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string | null; - size: number; - state: string | null; - updated_at: string; - }[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - created_at: string; - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - /** Format: uri */ - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - source_url?: string; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; - } | null; - registry: { - /** Format: uri */ - about_url: string; - name: string; - type: string; - /** Format: uri */ - url: string; - vendor: string; - } | null; - updated_at: string | null; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** package updated event */ - "webhook-package-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description Information about the package. */ - package: { - created_at: string; - description: string | null; - ecosystem: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - package_type: string; - package_version: { - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - /** Format: uri */ - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - package_files: { - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string; - size: number; - state: string; - updated_at: string; - }[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - created_at: string; - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - /** Format: uri */ - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - /** Format: uri */ - source_url?: string; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: { - /** Format: uri */ - about_url: string; - name: string; - type: string; - /** Format: uri */ - url: string; - vendor: string; - } | null; - updated_at: string; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** page_build event */ - "webhook-page-build": { - /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ - build: { - commit: string | null; - created_at: string; - duration: number; - error: { - message: string | null; - }; - /** User */ - pusher: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - status: string; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** personal_access_token_request approved event */ - "webhook-personal-access-token-request-approved": { - /** @enum {string} */ - action: "approved"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request cancelled event */ - "webhook-personal-access-token-request-cancelled": { - /** @enum {string} */ - action: "cancelled"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request created event */ - "webhook-personal-access-token-request-created": { - /** @enum {string} */ - action: "created"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request denied event */ - "webhook-personal-access-token-request-denied": { - /** @enum {string} */ - action: "denied"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - "webhook-ping": { - /** - * Webhook - * @description The webhook that is being pinged - */ - hook?: { - /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ - active: boolean; - /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ - app_id?: number; - config: { - content_type?: components["schemas"]["webhook-config-content-type"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - secret?: components["schemas"]["webhook-config-secret"]; - url?: components["schemas"]["webhook-config-url"]; - }; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - deliveries_url?: string; - /** @description Determines what events the hook is triggered for. Default: ['push']. */ - events: string[]; - /** @description Unique identifier of the webhook. */ - id: number; - last_response?: components["schemas"]["hook-response"]; - /** - * @description The type of webhook. The only valid value is 'web'. - * @enum {string} - */ - name: "web"; - /** Format: uri */ - ping_url?: string; - /** Format: uri */ - test_url?: string; - type: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url?: string; - }; - /** @description The ID of the webhook that triggered the ping. */ - hook_id?: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - /** @description Random string of GitHub zen. */ - zen?: string; - }; - /** @description The webhooks ping payload encoded with URL encoding. */ - "webhook-ping-form-encoded": { - /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** project_card converted event */ - "webhook-project-card-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - note: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card created event */ - "webhook-project-card-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card deleted event */ - "webhook-project-card-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number | null; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card edited event */ - "webhook-project-card-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - note: { - from: string | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card moved event */ - "webhook-project-card-moved": { - /** @enum {string} */ - action: "moved"; - changes?: { - column_id: { - from: number; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } & { - after_id: number | null; - archived?: boolean; - column_id?: number; - column_url?: string; - created_at?: string; - creator?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - } | null; - id?: number; - node_id?: string; - note?: string | null; - project_url?: string; - updated_at?: string; - url?: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project closed event */ - "webhook-project-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column created event */ - "webhook-project-column-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column deleted event */ - "webhook-project-column-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column edited event */ - "webhook-project-column-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - name?: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column moved event */ - "webhook-project-column-moved": { - /** @enum {string} */ - action: "moved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project created event */ - "webhook-project-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project deleted event */ - "webhook-project-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project edited event */ - "webhook-project-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the project if the action was `edited`. */ - changes?: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The changes to the project if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project reopened event */ - "webhook-project-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Closed Event */ - "webhook-projects-v2-project-closed": { - /** @enum {string} */ - action: "closed"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** @description A project was created */ - "webhook-projects-v2-project-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Deleted Event */ - "webhook-projects-v2-project-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Edited Event */ - "webhook-projects-v2-project-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - description?: { - from?: string | null; - to?: string | null; - }; - public?: { - from?: boolean; - to?: boolean; - }; - short_description?: { - from?: string | null; - to?: string | null; - }; - title?: { - from?: string; - to?: string; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Archived Event */ - "webhook-projects-v2-item-archived": { - /** @enum {string} */ - action: "archived"; - changes: { - archived_at?: { - /** Format: date-time */ - from?: string | null; - /** Format: date-time */ - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Converted Event */ - "webhook-projects-v2-item-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - content_type?: { - from?: string | null; - to?: string; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Created Event */ - "webhook-projects-v2-item-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Deleted Event */ - "webhook-projects-v2-item-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Edited Event */ - "webhook-projects-v2-item-edited": { - /** @enum {string} */ - action: "edited"; - changes?: OneOf< - [ - { - field_value: { - field_node_id?: string; - field_type?: string; - }; - }, - { - body: { - from?: string | null; - to?: string | null; - }; - }, - ] - >; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Reordered Event */ - "webhook-projects-v2-item-reordered": { - /** @enum {string} */ - action: "reordered"; - changes: { - previous_projects_v2_item_node_id?: { - from?: string | null; - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Restored Event */ - "webhook-projects-v2-item-restored": { - /** @enum {string} */ - action: "restored"; - changes: { - archived_at?: { - /** Format: date-time */ - from?: string | null; - /** Format: date-time */ - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Reopened Event */ - "webhook-projects-v2-project-reopened": { - /** @enum {string} */ - action: "reopened"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** public event */ - "webhook-public": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request assigned event */ - "webhook-pull-request-assigned": { - /** @enum {string} */ - action: "assigned"; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request auto_merge_disabled event */ - "webhook-pull-request-auto-merge-disabled": { - /** @enum {string} */ - action: "auto_merge_disabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - reason: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request auto_merge_enabled event */ - "webhook-pull-request-auto-merge-enabled": { - /** @enum {string} */ - action: "auto_merge_enabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - reason?: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request closed event */ - "webhook-pull-request-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request converted_to_draft event */ - "webhook-pull-request-converted-to-draft": { - /** @enum {string} */ - action: "converted_to_draft"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request demilestoned event */ - "webhook-pull-request-demilestoned": { - /** @enum {string} */ - action: "demilestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - milestone?: components["schemas"]["milestone"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request dequeued event */ - "webhook-pull-request-dequeued": { - /** @enum {string} */ - action: "dequeued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - reason: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request edited event */ - "webhook-pull-request-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment if the action was `edited`. */ - changes: { - base?: { - ref: { - from: string; - }; - sha: { - from: string; - }; - }; - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request enqueued event */ - "webhook-pull-request-enqueued": { - /** @enum {string} */ - action: "enqueued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request labeled event */ - "webhook-pull-request-labeled": { - /** @enum {string} */ - action: "labeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request locked event */ - "webhook-pull-request-locked": { - /** @enum {string} */ - action: "locked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request milestoned event */ - "webhook-pull-request-milestoned": { - /** @enum {string} */ - action: "milestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - milestone?: components["schemas"]["milestone"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request opened event */ - "webhook-pull-request-opened": { - /** @enum {string} */ - action: "opened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request ready_for_review event */ - "webhook-pull-request-ready-for-review": { - /** @enum {string} */ - action: "ready_for_review"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request reopened event */ - "webhook-pull-request-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_comment created event */ - "webhook-pull-request-review-comment-created": { - /** @enum {string} */ - action: "created"; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number | null; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions?: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_comment deleted event */ - "webhook-pull-request-review-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_comment edited event */ - "webhook-pull-request-review-comment-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - }; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review dismissed event */ - "webhook-pull-request-review-dismissed": { - /** @enum {string} */ - action: "dismissed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - /** @enum {string} */ - state: "dismissed" | "approved" | "changes_requested"; - /** Format: date-time */ - submitted_at: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review edited event */ - "webhook-pull-request-review-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - state: string; - /** Format: date-time */ - submitted_at: string | null; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request review_request_removed event */ - "webhook-pull-request-review-request-removed": OneOf< - [ - { - /** @enum {string} */ - action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title. - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requested_reviewer: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - sender: components["schemas"]["simple-user-webhooks"]; - }, - { - /** @enum {string} */ - action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }, - ] - >; - /** pull_request review_requested event */ - "webhook-pull-request-review-requested": OneOf< - [ - { - /** @enum {string} */ - action: "review_requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requested_reviewer: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - sender: components["schemas"]["simple-user-webhooks"]; - }, - { - /** @enum {string} */ - action: "review_requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }, - ] - >; - /** pull_request_review submitted event */ - "webhook-pull-request-review-submitted": { - /** @enum {string} */ - action: "submitted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - state: string; - /** Format: date-time */ - submitted_at: string | null; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_thread resolved event */ - "webhook-pull-request-review-thread-resolved": { - /** @enum {string} */ - action: "resolved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - thread: { - comments: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number | null; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }[]; - node_id: string; - }; - }; - /** pull_request_review_thread unresolved event */ - "webhook-pull-request-review-thread-unresolved": { - /** @enum {string} */ - action: "unresolved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - thread: { - comments: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }[]; - node_id: string; - }; - }; - /** pull_request synchronize event */ - "webhook-pull-request-synchronize": { - /** @enum {string} */ - action: "synchronize"; - after: string; - before: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit message title. - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request unassigned event */ - "webhook-pull-request-unassigned": { - /** @enum {string} */ - action: "unassigned"; - /** User */ - assignee?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request unlabeled event */ - "webhook-pull-request-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit message title. - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request unlocked event */ - "webhook-pull-request-unlocked": { - /** @enum {string} */ - action: "unlocked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: - | "resolved" - | "off-topic" - | "too heated" - | "spam" - | null; - additions?: number; - /** User */ - assignee: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - assignees: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: - | "COLLABORATOR" - | "CONTRIBUTOR" - | "FIRST_TIMER" - | "FIRST_TIME_CONTRIBUTOR" - | "MANNEQUIN" - | "MEMBER" - | "NONE" - | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: { - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string; - /** User */ - enabled_by: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - } | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: - | "PR_BODY" - | "COMMIT_MESSAGES" - | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - } | null; - sha: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: OneOf< - [ - { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null, - { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }, - ] - >[]; - requested_teams: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** push event */ - "webhook-push": { - /** @description The SHA of the most recent commit on `ref` after the push. */ - after: string; - base_ref: string | null; - /** @description The SHA of the most recent commit on `ref` before the push. */ - before: string; - /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */ - commits: { - /** @description An array of files added in the commit. */ - added?: string[]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. */ - modified?: string[]; - /** @description An array of files removed in the commit. */ - removed?: string[]; - /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. - */ - timestamp: string; - tree_id: string; - /** - * Format: uri - * @description URL that points to the commit API resource. - */ - url: string; - }[]; - /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ - compare: string; - /** @description Whether this push created the `ref`. */ - created: boolean; - /** @description Whether this push deleted the `ref`. */ - deleted: boolean; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description Whether this push was a force push of the `ref`. */ - forced: boolean; - /** Commit */ - head_commit: { - /** @description An array of files added in the commit. */ - added?: string[]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. */ - modified?: string[]; - /** @description An array of files removed in the commit. */ - removed?: string[]; - /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. - */ - timestamp: string; - tree_id: string; - /** - * Format: uri - * @description URL that points to the commit API resource. - */ - url: string; - } | null; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - pusher: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email?: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ - ref: string; - /** - * Repository - * @description A git repository - */ - repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-registry-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - registry_package: { - created_at: string | null; - description: string | null; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - package_type: string; - package_version: { - author?: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - body?: string | Record; - body_html?: string; - container_metadata?: { - labels?: Record | null; - manifest?: Record | null; - tag?: { - digest?: string; - name?: string; - }; - }; - created_at?: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - npm_metadata?: { - name?: string; - version?: string; - npm_user?: string; - author?: string | Record | null; - bugs?: string | Record | null; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: string | Record | null; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: string | Record | null; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: string[]; - contributors?: string[]; - engines?: Record; - keywords?: string[]; - files?: string[]; - bin?: Record; - man?: Record; - directories?: string | Record | null; - os?: string[]; - cpu?: string[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - } | null; - nuget_metadata?: - | { - id?: string | Record | number | null; - name?: string; - value?: OneOf< - [ - boolean, - string, - number, - { - url?: string; - branch?: string; - commit?: string; - type?: string; - }, - ] - >; - }[] - | null; - package_files: { - content_type: string; - created_at: string; - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string | null; - size: number; - state: string | null; - updated_at: string; - }[]; - package_url: string; - prerelease?: boolean; - release?: { - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - prerelease?: boolean; - published_at?: string; - tag_name?: string; - target_commitish?: string; - url?: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; - } | null; - registry: { - about_url?: string; - name?: string; - type?: string; - url?: string; - vendor?: string; - } | null; - updated_at: string | null; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-registry-package-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - registry_package: { - created_at: string; - description: Record | null; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - package_type: string; - package_version: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: ({ - tags?: string[]; - } | null)[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - package_files: { - content_type?: string; - created_at?: string; - download_url?: string; - id?: number; - md5?: string | null; - name?: string; - sha1?: string | null; - sha256?: string; - size?: number; - state?: string; - updated_at?: string; - }[]; - package_url: string; - prerelease?: boolean; - release?: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - created_at: string; - draft: boolean; - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: Record | null; - updated_at: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** release created event */ - "webhook-release-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: { - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - }[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** release deleted event */ - "webhook-release-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: { - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - }[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** release edited event */ - "webhook-release-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - make_latest?: { - /** @description Whether this release was explicitly `edited` to be the latest. */ - to: boolean; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: { - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - }[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release prereleased event */ - "webhook-release-prereleased": { - /** @enum {string} */ - action: "prereleased"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: { - assets: { - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - }[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - } & { - assets?: (Record | null)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: string | null; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - node_id?: string; - /** - * @description Whether the release is identified as a prerelease or a full release. - * @enum {boolean} - */ - prerelease: true; - published_at?: string | null; - tag_name?: string; - tarball_url?: string | null; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release published event */ - "webhook-release-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: { - assets: { - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - }[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - } & { - assets?: (Record | null)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: string | null; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - node_id?: string; - prerelease?: boolean; - /** Format: date-time */ - published_at: string | null; - tag_name?: string; - tarball_url?: string | null; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release released event */ - "webhook-release-released": { - /** @enum {string} */ - action: "released"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: { - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - }[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release unpublished event */ - "webhook-release-unpublished": { - /** @enum {string} */ - action: "unpublished"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: { - assets: { - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - url: string; - }[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - } & { - assets?: (Record | null)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: string | null; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - node_id?: string; - prerelease?: boolean; - published_at: string | null; - tag_name?: string; - tarball_url?: string | null; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** Repository advisory published event */ - "webhook-repository-advisory-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** Repository advisory reported event */ - "webhook-repository-advisory-reported": { - /** @enum {string} */ - action: "reported"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** repository archived event */ - "webhook-repository-archived": { - /** @enum {string} */ - action: "archived"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository created event */ - "webhook-repository-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository deleted event */ - "webhook-repository-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_dispatch event */ - "webhook-repository-dispatch-sample": { - /** @enum {string} */ - action: "sample.collected"; - branch: string; - client_payload: { - [key: string]: unknown; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository edited event */ - "webhook-repository-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - default_branch?: { - from: string; - }; - description?: { - from: string | null; - }; - homepage?: { - from: string | null; - }; - topics?: { - from?: string[] | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_import event */ - "webhook-repository-import": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @enum {string} */ - status: "success" | "cancelled" | "failure"; - }; - /** repository privatized event */ - "webhook-repository-privatized": { - /** @enum {string} */ - action: "privatized"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository publicized event */ - "webhook-repository-publicized": { - /** @enum {string} */ - action: "publicized"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository renamed event */ - "webhook-repository-renamed": { - /** @enum {string} */ - action: "renamed"; - changes: { - repository: { - name: { - from: string; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository ruleset created event */ - "webhook-repository-ruleset-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository ruleset deleted event */ - "webhook-repository-ruleset-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository ruleset edited event */ - "webhook-repository-ruleset-edited": { - /** @enum {string} */ - action: "edited"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - changes?: { - name?: { - from?: string; - }; - enforcement?: { - from?: string; - }; - conditions?: { - added?: components["schemas"]["repository-ruleset-conditions"][]; - deleted?: components["schemas"]["repository-ruleset-conditions"][]; - updated?: { - condition?: components["schemas"]["repository-ruleset-conditions"]; - changes?: { - condition_type?: { - from?: string; - }; - target?: { - from?: string; - }; - include?: { - from?: string[]; - }; - exclude?: { - from?: string[]; - }; - }; - }[]; - }; - rules?: { - added?: components["schemas"]["repository-rule"][]; - deleted?: components["schemas"]["repository-rule"][]; - updated?: { - rule?: components["schemas"]["repository-rule"]; - changes?: { - configuration?: { - from?: string; - }; - rule_type?: { - from?: string; - }; - pattern?: { - from?: string; - }; - }; - }[]; - }; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository transferred event */ - "webhook-repository-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - owner: { - from: { - /** Organization */ - organization?: { - /** Format: uri */ - avatar_url: string; - description: string | null; - /** Format: uri */ - events_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url?: string; - id: number; - /** Format: uri */ - issues_url: string; - login: string; - /** Format: uri-template */ - members_url: string; - node_id: string; - /** Format: uri-template */ - public_members_url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - url: string; - }; - /** User */ - user?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository unarchived event */ - "webhook-repository-unarchived": { - /** @enum {string} */ - action: "unarchived"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert create event */ - "webhook-repository-vulnerability-alert-create": { - /** @enum {string} */ - action: "create"; - alert: { - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - } & { - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: string | null; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "open"; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert dismiss event */ - "webhook-repository-vulnerability-alert-dismiss": { - /** @enum {string} */ - action: "dismiss"; - alert: { - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_comment?: string | null; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - } & { - affected_package_name?: string; - affected_range?: string; - created_at?: string; - dismiss_comment?: string | null; - dismiss_reason: string; - dismissed_at: string; - /** User */ - dismisser: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - external_identifier?: string; - external_reference?: string | null; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "dismissed"; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert reopen event */ - "webhook-repository-vulnerability-alert-reopen": { - /** @enum {string} */ - action: "reopen"; - alert: { - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - } & { - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: string | null; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "open"; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert resolve event */ - "webhook-repository-vulnerability-alert-resolve": { - /** @enum {string} */ - action: "resolve"; - alert: { - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - } & { - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "fixed" | "open"; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** secret_scanning_alert created event */ - "webhook-secret-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created": { - /** @enum {string} */ - action?: "created"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - installation?: components["schemas"]["simple-installation"]; - location: components["schemas"]["secret-scanning-location"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created-form-encoded": { - /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** secret_scanning_alert reopened event */ - "webhook-secret-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** secret_scanning_alert resolved event */ - "webhook-secret-scanning-alert-resolved": { - /** @enum {string} */ - action: "resolved"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** secret_scanning_alert revoked event */ - "webhook-secret-scanning-alert-revoked": { - /** @enum {string} */ - action: "revoked"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_advisory published event */ - "webhook-security-advisory-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: { - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - }[]; - withdrawn_at: string | null; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_advisory updated event */ - "webhook-security-advisory-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: { - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - }[]; - withdrawn_at: string | null; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_advisory withdrawn event */ - "webhook-security-advisory-withdrawn": { - /** @enum {string} */ - action: "withdrawn"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: { - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - }[]; - withdrawn_at: string; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_and_analysis event */ - "webhook-security-and-analysis": { - changes: { - from?: { - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["full-repository"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** sponsorship cancelled event */ - "webhook-sponsorship-cancelled": { - /** @enum {string} */ - action: "cancelled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** User */ - sponsorable: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship created event */ - "webhook-sponsorship-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** User */ - sponsorable: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship edited event */ - "webhook-sponsorship-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - privacy_level?: { - /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** User */ - sponsorable: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship pending_cancellation event */ - "webhook-sponsorship-pending-cancellation": { - /** @enum {string} */ - action: "pending_cancellation"; - /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ - effective_date?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** User */ - sponsorable: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship pending_tier_change event */ - "webhook-sponsorship-pending-tier-change": { - /** @enum {string} */ - action: "pending_tier_change"; - changes: { - tier: { - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - from: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ - effective_date?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** User */ - sponsorable: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship tier_changed event */ - "webhook-sponsorship-tier-changed": { - /** @enum {string} */ - action: "tier_changed"; - changes: { - tier: { - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - from: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** User */ - sponsorable: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** star created event */ - "webhook-star-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: string | null; - }; - /** star deleted event */ - "webhook-star-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: Record | null; - }; - /** status event */ - "webhook-status": { - /** Format: uri */ - avatar_url?: string | null; - /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ - branches: { - commit: { - sha: string | null; - /** Format: uri */ - url: string | null; - }; - name: string; - protected: boolean; - }[]; - commit: { - /** User */ - author: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - comments_url: string; - commit: { - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - } & { - date: string; - email?: string; - name?: string; - }; - comment_count: number; - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - } & { - date: string; - email?: string; - name?: string; - }; - message: string; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - url: string; - verification: { - payload: string | null; - /** @enum {string} */ - reason: - | "expired_key" - | "not_signing_key" - | "gpgverify_error" - | "gpgverify_unavailable" - | "unsigned" - | "unknown_signature_type" - | "no_user" - | "unverified_email" - | "bad_email" - | "unknown_key" - | "malformed_signature" - | "invalid" - | "valid" - | "bad_cert" - | "ocsp_pending"; - signature: string | null; - verified: boolean; - }; - }; - /** User */ - committer: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - html_url: string; - node_id: string; - parents: { - /** Format: uri */ - html_url: string; - sha: string; - /** Format: uri */ - url: string; - }[]; - sha: string; - /** Format: uri */ - url: string; - }; - context: string; - created_at: string; - /** @description The optional human-readable description added to the status. */ - description: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The unique identifier of the status. */ - id: number; - installation?: components["schemas"]["simple-installation"]; - name: string; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @description The Commit SHA. */ - sha: string; - /** - * @description The new state. Can be `pending`, `success`, `failure`, or `error`. - * @enum {string} - */ - state: "pending" | "success" | "failure" | "error"; - /** @description The optional link added to the status. */ - target_url: string | null; - updated_at: string; - }; - /** team_add event */ - "webhook-team-add": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team added_to_repository event */ - "webhook-team-added-to-repository": { - /** @enum {string} */ - action: "added_to_repository"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team created event */ - "webhook-team-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team deleted event */ - "webhook-team-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team edited event */ - "webhook-team-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the team if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - privacy?: { - /** @description The previous version of the team's privacy if the action was `edited`. */ - from: string; - }; - notification_setting?: { - /** @description The previous version of the team's notification setting if the action was `edited`. */ - from: string; - }; - repository?: { - permissions: { - from: { - /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ - admin?: boolean; - /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ - pull?: boolean; - /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ - push?: boolean; - }; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team removed_from_repository event */ - "webhook-team-removed-from-repository": { - /** @enum {string} */ - action: "removed_from_repository"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: { - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - } | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: { - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - } | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** watch started event */ - "webhook-watch-started": { - /** @enum {string} */ - action: "started"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** workflow_dispatch event */ - "webhook-workflow-dispatch": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - inputs: { - [key: string]: unknown; - } | null; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow: string; - }; - /** workflow_job completed event */ - "webhook-workflow-job-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | null - | "skipped" - | "cancelled" - | "action_required" - | "neutral" - | "timed_out"; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: number | null; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: string | null; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: number | null; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: string | null; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: { - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - }[]; - /** Format: uri */ - url: string; - } & { - check_run_url?: string; - completed_at?: string; - /** @enum {string} */ - conclusion: - | "success" - | "failure" - | "skipped" - | "cancelled" - | "action_required" - | "neutral" - | "timed_out"; - /** @description The time that the job created. */ - created_at?: string; - head_sha?: string; - html_url?: string; - id?: number; - labels?: (string | null)[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: number | null; - runner_group_name?: string | null; - runner_id?: number | null; - runner_name?: string | null; - started_at?: string; - status?: string; - /** @description The name of the current branch. */ - head_branch?: string | null; - /** @description The name of the workflow. */ - workflow_name?: string | null; - steps?: (Record | null)[]; - url?: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job in_progress event */ - "webhook-workflow-job-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "success" | "failure" | null | "cancelled" | "neutral"; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: number | null; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: string | null; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: number | null; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: string | null; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: { - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | null | "cancelled"; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued" | "pending"; - }[]; - /** Format: uri */ - url: string; - } & { - check_run_url?: string; - completed_at?: string | null; - conclusion?: string | null; - /** @description The time that the job created. */ - created_at?: string; - head_sha?: string; - html_url?: string; - id?: number; - labels?: string[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: number | null; - runner_group_name?: string | null; - runner_id?: number | null; - runner_name?: string | null; - started_at?: string; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - /** @description The name of the current branch. */ - head_branch?: string | null; - /** @description The name of the workflow. */ - workflow_name?: string | null; - steps: { - completed_at: string | null; - conclusion: string | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "pending" | "queued"; - }[]; - url?: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job queued event */ - "webhook-workflow-job-queued": { - /** @enum {string} */ - action: "queued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - conclusion: string | null; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - runner_group_id: number | null; - runner_group_name: string | null; - runner_id: number | null; - runner_name: string | null; - /** Format: date-time */ - started_at: string; - /** @enum {string} */ - status: "queued" | "in_progress" | "completed" | "waiting"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: { - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "completed" | "in_progress" | "queued" | "pending"; - }[]; - /** Format: uri */ - url: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job waiting event */ - "webhook-workflow-job-waiting": { - /** @enum {string} */ - action: "waiting"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - conclusion: string | null; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - runner_group_id: number | null; - runner_group_name: string | null; - runner_id: number | null; - runner_name: string | null; - /** Format: date-time */ - started_at: string; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - /** @enum {string} */ - status: "queued" | "in_progress" | "completed" | "waiting"; - steps: { - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: - | "completed" - | "in_progress" - | "queued" - | "pending" - | "waiting"; - }[]; - /** Format: uri */ - url: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_run completed event */ - "webhook-workflow-run-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null - | "skipped"; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | "pending" - | "waiting"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - } & { - actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - artifacts_url?: string; - cancel_url?: string; - check_suite_id?: number; - check_suite_node_id?: string; - check_suite_url?: string; - /** @enum {string} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | "skipped"; - created_at?: string; - event?: string; - head_branch?: string | null; - head_commit?: { - author?: { - email?: string; - name?: string; - }; - committer?: { - email?: string; - name?: string; - }; - id?: string; - message?: string; - timestamp?: string; - tree_id?: string; - }; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha?: string; - html_url?: string; - id?: number; - jobs_url?: string; - logs_url?: string; - name?: string | null; - node_id?: string; - path?: string; - previous_attempt_url?: string | null; - pull_requests?: (Record | null)[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt?: number; - run_number?: number; - run_started_at?: string; - status?: string; - triggering_actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - } | null; - updated_at?: string; - url?: string; - workflow_id?: number; - workflow_url?: string; - }; - }; - /** workflow_run in_progress event */ - "webhook-workflow-run-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | "skipped" - | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | "pending"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - } & { - actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - artifacts_url?: string; - cancel_url?: string; - check_suite_id?: number; - check_suite_node_id?: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "skipped" - | "stale" - | null; - created_at?: string; - event?: string; - head_branch?: string | null; - head_commit?: { - author?: { - email?: string; - name?: string; - }; - committer?: { - email?: string; - name?: string; - }; - id?: string; - message?: string; - timestamp?: string; - tree_id?: string; - }; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string | null; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha?: string; - html_url?: string; - id?: number; - jobs_url?: string; - logs_url?: string; - name?: string | null; - node_id?: string; - path?: string; - previous_attempt_url?: string | null; - pull_requests?: (Record | null)[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt?: number; - run_number?: number; - run_started_at?: string; - status?: string; - triggering_actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - updated_at?: string; - url?: string; - workflow_id?: number; - workflow_url?: string; - }; - }; - /** workflow_run requested event */ - "webhook-workflow-run-requested": { - /** @enum {string} */ - action: "requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - /** Workflow Run */ - workflow_run: { - /** User */ - actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: - | "success" - | "failure" - | "neutral" - | "cancelled" - | "timed_out" - | "action_required" - | "stale" - | null - | "skipped" - | "startup_failure"; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: - | { - path: string; - ref?: string; - sha: string; - }[] - | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: - | "requested" - | "in_progress" - | "completed" - | "queued" - | "pending" - | "waiting"; - /** User */ - triggering_actor: { - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - } | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - display_title: string; - }; - }; - }; - responses: { - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed_simple: { - content: { - "application/json": components["schemas"]["validation-error-simple"]; - }; - }; - /** @description Resource not found */ - not_found: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Bad Request */ - bad_request: { - content: { - "application/json": components["schemas"]["basic-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed: { - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - /** @description Accepted */ - accepted: { - content: { - "application/json": Record; - }; - }; - /** @description Not modified */ - not_modified: { - content: never; - }; - /** @description Requires authentication */ - requires_authentication: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Forbidden */ - forbidden: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Service unavailable */ - service_unavailable: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Forbidden Gist */ - forbidden_gist: { - content: { - "application/json": { - block?: { - reason?: string; - created_at?: string; - html_url?: string | null; - }; - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Moved permanently */ - moved_permanently: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Conflict */ - conflict: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response */ - actions_runner_jitconfig: { - content: { - "application/json": { - runner: components["schemas"]["runner"]; - /** @description The base64 encoded runner configuration. */ - encoded_jit_config: string; - }; - }; - }; - /** @description Response */ - actions_runner_labels: { - content: { - "application/json": { - total_count: number; - labels: components["schemas"]["runner-label"][]; - }; - }; - }; - /** @description Response */ - actions_runner_labels_readonly: { - content: { - "application/json": { - total_count: number; - labels: components["schemas"]["runner-label"][]; - }; - }; - }; - /** @description Internal Error */ - internal_error: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ - package_es_list_error: { - content: never; - }; - /** @description A header with no content is returned. */ - no_content: { - content: never; - }; - /** @description Gone */ - gone: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Temporary Redirect */ - temporary_redirect: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_read: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_write: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Found */ - found: { - content: never; - }; - /** @description Response if there is already a validation run in progress with a different default setup configuration */ - code_scanning_conflict: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - dependency_review_forbidden: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Unavailable due to service under maintenance. */ - porter_maintenance: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - parameters: { - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ - "pagination-before"?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ - "pagination-after"?: string; - /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: string; - /** @description The number of results per page (max 100). */ - "per-page"?: number; - /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ - cursor?: string; - "delivery-id": number; - /** @description Page number of the results to fetch. */ - page?: number; - /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: string; - /** @description The unique identifier of the installation. */ - "installation-id": number; - /** @description The client ID of the GitHub app. */ - "client-id": string; - "app-slug": string; - /** @description The unique identifier of the classroom assignment. */ - "assignment-id": number; - /** @description The unique identifier of the classroom. */ - "classroom-id": number; - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; - /** - * @description A comma-separated list of states. If specified, only alerts with these states will be returned. - * - * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` - */ - "dependabot-alert-comma-separated-states"?: string; - /** - * @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. - * - * Can be: `low`, `medium`, `high`, `critical` - */ - "dependabot-alert-comma-separated-severities"?: string; - /** - * @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. - * - * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` - */ - "dependabot-alert-comma-separated-ecosystems"?: string; - /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ - "dependabot-alert-comma-separated-packages"?: string; - /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ - "dependabot-alert-scope"?: "development" | "runtime"; - /** - * @description The property by which to sort the results. - * `created` means when the alert was created. - * `updated` means when the alert's state last changed. - */ - "dependabot-alert-sort"?: "created" | "updated"; - /** - * @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. - * This parameter must not be used in combination with `last`. - * Instead, use `per_page` in combination with `after` to fetch the first page of results. - */ - "pagination-first"?: number; - /** - * @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. - * This parameter must not be used in combination with `first`. - * Instead, use `per_page` in combination with `before` to fetch the last page of results. - */ - "pagination-last"?: number; - /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - "secret-scanning-alert-state"?: "open" | "resolved"; - /** - * @description A comma-separated list of secret types to return. By default all secret types are returned. - * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" - * for a complete list of secret types. - */ - "secret-scanning-alert-secret-type"?: string; - /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ - "secret-scanning-alert-resolution"?: string; - /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ - "secret-scanning-alert-sort"?: "created" | "updated"; - /** @description The unique identifier of the gist. */ - "gist-id": string; - /** @description The unique identifier of the comment. */ - "comment-id": number; - /** @description A list of comma separated label names. Example: `bug,ui,@high` */ - labels?: string; - /** @description account_id parameter */ - "account-id": number; - /** @description The unique identifier of the plan. */ - "plan-id": number; - /** @description The property to sort the results by. */ - sort?: "created" | "updated"; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: string; - /** @description If `true`, show notifications marked as read. */ - all?: boolean; - /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ - participating?: boolean; - /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - before?: string; - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - "thread-id": number; - /** @description An organization ID. Only return organizations with an ID greater than this ID. */ - "since-org"?: number; - /** @description The organization name. The name is not case sensitive. */ - org: string; - /** @description The unique identifier of the repository. */ - "repository-id": number; - /** @description Unique identifier of the self-hosted runner. */ - "runner-id": number; - /** @description The name of a self-hosted runner's custom label. */ - "runner-label-name": string; - /** @description The name of the secret. */ - "secret-name": string; - /** @description The number of results per page (max 30). */ - "variables-per-page"?: number; - /** @description The name of the variable. */ - "variable-name": string; - /** @description The handle for the GitHub user account. */ - username: string; - /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ - "tool-name"?: components["schemas"]["code-scanning-analysis-tool-name"]; - /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ - "tool-guid"?: components["schemas"]["code-scanning-analysis-tool-guid"]; - /** @description The unique identifier of the hook. */ - "hook-id": number; - /** @description The unique identifier of the invitation. */ - "invitation-id": number; - /** @description The name of the codespace. */ - "codespace-name": string; - /** @description The unique identifier of the migration. */ - "migration-id": number; - /** @description repo_name parameter */ - "repo-name": string; - /** - * @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. - * - * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. - * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "package-visibility"?: "public" | "private" | "internal"; - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - "package-type": - | "npm" - | "maven" - | "rubygems" - | "docker" - | "nuget" - | "container"; - /** @description The name of the package. */ - "package-name": string; - /** @description Unique identifier of the package version. */ - "package-version-id": number; - /** @description The property by which to sort the results. */ - "personal-access-token-sort"?: "created_at"; - /** @description A list of owner usernames to use to filter the results. */ - "personal-access-token-owner"?: string[]; - /** @description The name of the repository to use to filter the results. */ - "personal-access-token-repository"?: string; - /** @description The permission to use to filter the results. */ - "personal-access-token-permission"?: string; - /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-before"?: string; - /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-after"?: string; - /** @description The unique identifier of the fine-grained personal access token. */ - "fine-grained-personal-access-token-id": number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ - "secret-scanning-pagination-before-org-repo"?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ - "secret-scanning-pagination-after-org-repo"?: string; - /** @description The slug of the team name. */ - "team-slug": string; - /** @description The number that identifies the discussion. */ - "discussion-number": number; - /** @description The number that identifies the comment. */ - "comment-number": number; - /** @description The unique identifier of the reaction. */ - "reaction-id": number; - /** @description The unique identifier of the project. */ - "project-id": number; - /** @description The security feature to enable or disable. */ - "security-product": - | "dependency_graph" - | "dependabot_alerts" - | "dependabot_security_updates" - | "advanced_security" - | "code_scanning_default_setup" - | "secret_scanning" - | "secret_scanning_push_protection"; - /** - * @description The action to take. - * - * `enable_all` means to enable the specified security feature for all repositories in the organization. - * `disable_all` means to disable the specified security feature for all repositories in the organization. - */ - "org-security-product-enablement": "enable_all" | "disable_all"; - /** @description The unique identifier of the card. */ - "card-id": number; - /** @description The unique identifier of the column. */ - "column-id": number; - /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ - "artifact-name"?: string; - /** @description The unique identifier of the artifact. */ - "artifact-id": number; - /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ - "actions-cache-git-ref-full"?: string; - /** @description An explicit key or prefix for identifying the cache */ - "actions-cache-key"?: string; - /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ - "actions-cache-list-sort"?: - | "created_at" - | "last_accessed_at" - | "size_in_bytes"; - /** @description A key for identifying the cache. */ - "actions-cache-key-required": string; - /** @description The unique identifier of the GitHub Actions cache. */ - "cache-id": number; - /** @description The unique identifier of the job. */ - "job-id": number; - /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor?: string; - /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - "workflow-run-branch"?: string; - /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: string; - /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ - "workflow-run-status"?: - | "completed" - | "action_required" - | "cancelled" - | "failure" - | "neutral" - | "skipped" - | "stale" - | "success" - | "timed_out" - | "in_progress" - | "queued" - | "requested" - | "waiting" - | "pending"; - /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - created?: string; - /** @description If `true` pull requests are omitted from the response (empty array). */ - "exclude-pull-requests"?: boolean; - /** @description Returns workflow runs with the `check_suite_id` that you specify. */ - "workflow-run-check-suite-id"?: number; - /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ - "workflow-run-head-sha"?: string; - /** @description The unique identifier of the workflow run. */ - "run-id": number; - /** @description The attempt number of the workflow run. */ - "attempt-number": number; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - "workflow-id": number | string; - /** @description The unique identifier of the autolink. */ - "autolink-id": number; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: string; - /** @description The unique identifier of the check run. */ - "check-run-id": number; - /** @description The unique identifier of the check suite. */ - "check-suite-id": number; - /** @description Returns check runs with the specified `name`. */ - "check-name"?: string; - /** @description Returns check runs with the specified `status`. */ - status?: "queued" | "in_progress" | "completed"; - /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - "git-ref"?: components["schemas"]["code-scanning-ref"]; - /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ - "alert-number": components["schemas"]["alert-number"]; - /** @description The SHA of the commit. */ - "commit-sha": string; - /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - "commit-ref": string; - /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ - "dependabot-alert-comma-separated-manifests"?: string; - /** - * @description The number that identifies a Dependabot alert in its repository. - * You can find this at the end of the URL for a Dependabot alert within GitHub, - * or in `number` fields in the response from the - * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. - */ - "dependabot-alert-number": components["schemas"]["alert-number"]; - /** @description The full path, relative to the repository root, of the dependency manifest file. */ - "manifest-path"?: string; - /** @description deployment_id parameter */ - "deployment-id": number; - /** @description The name of the environment. */ - "environment-name": string; - /** @description The unique identifier of the branch policy. */ - "branch-policy-id": number; - /** @description The unique identifier of the protection rule. */ - "protection-rule-id": number; - /** @description A user ID. Only return users with an ID greater than this ID. */ - "since-user"?: number; - /** @description The number that identifies the issue. */ - "issue-number": number; - /** @description The unique identifier of the key. */ - "key-id": number; - /** @description The number that identifies the milestone. */ - "milestone-number": number; - /** @description The number that identifies the pull request. */ - "pull-number": number; - /** @description The unique identifier of the review. */ - "review-id": number; - /** @description The unique identifier of the asset. */ - "asset-id": number; - /** @description The unique identifier of the release. */ - "release-id": number; - /** @description The unique identifier of the tag protection. */ - "tag-protection-id": number; - /** @description The time frame to display results for. */ - per?: "day" | "week"; - /** @description A repository ID. Only return repositories with an ID greater than this ID. */ - "since-repo"?: number; - /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order?: "desc" | "asc"; - /** @description The unique identifier of the team. */ - "team-id": number; - /** @description ID of the Repository to filter on */ - "repository-id-in-query"?: number; - /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ - "export-id": string; - /** @description The unique identifier of the GPG key. */ - "gpg-key-id": number; - /** @description Only show repositories updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "since-repo-date"?: string; - /** @description Only show repositories updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "before-repo-date"?: string; - /** @description The unique identifier of the SSH signing key. */ - "ssh-signing-key-id": number; - /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ - "sort-starred"?: "created" | "updated"; - }; - requestBodies: never; - headers: { - /** @example ; rel="next", ; rel="last" */ - link: string; - /** @example text/html */ - "content-type": string; - /** @example 0.17.4 */ - "x-common-marker-version": string; - /** @example 5000 */ - "x-rate-limit-limit": number; - /** @example 4999 */ - "x-rate-limit-remaining": number; - /** @example 1590701888 */ - "x-rate-limit-reset": number; - /** @example https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D */ - location: string; - }; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - /** - * GitHub API Root - * @description Get Hypermedia links to resources accessible in GitHub's REST API - */ - "meta/root": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["root"]; - }; - }; - }; - }; - /** - * List global security advisories - * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. - * - * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." - */ - "security-advisories/list-global-advisories": { - parameters: { - query?: { - /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ - ghsa_id?: string; - /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ - type?: "reviewed" | "malware" | "unreviewed"; - /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ - cve_id?: string; - /** @description If specified, only advisories for these ecosystems will be returned. */ - ecosystem?: - | "actions" - | "composer" - | "erlang" - | "go" - | "maven" - | "npm" - | "nuget" - | "other" - | "pip" - | "pub" - | "rubygems" - | "rust"; - /** @description If specified, only advisories with these severities will be returned. */ - severity?: "unknown" | "low" | "medium" | "high" | "critical"; - /** - * @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. - * - * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` - */ - cwes?: string | string[]; - /** @description Whether to only return advisories that have been withdrawn. */ - is_withdrawn?: boolean; - /** - * @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. - * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. - * - * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` - */ - affects?: string | string[]; - /** - * @description If specified, only return advisories that were published on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." - */ - published?: string; - /** - * @description If specified, only return advisories that were updated on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." - */ - updated?: string; - /** - * @description If specified, only show advisories that were updated or published on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." - */ - modified?: string; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). */ - per_page?: number; - /** @description The property to sort the results by. */ - sort?: "updated" | "published"; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["global-advisory"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - /** @description Too many requests */ - 429: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Get a global security advisory - * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. - */ - "security-advisories/get-global-advisory": { - parameters: { - path: { - ghsa_id: components["parameters"]["ghsa_id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["global-advisory"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the authenticated app - * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-authenticated": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"]; - }; - }; - }; - }; - /** - * Create a GitHub App from a manifest - * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. - */ - "apps/create-from-manifest": { - parameters: { - path: { - code: string; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["integration"] & { - client_id: string; - client_secret: string; - webhook_secret: string | null; - pem: string; - [key: string]: unknown; - }; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a webhook configuration for an app - * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-webhook-config-for-app": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * Update a webhook configuration for an app - * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/update-webhook-config-for-app": { - requestBody: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * List deliveries for an app webhook - * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/list-webhook-deliveries": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - cursor?: components["parameters"]["cursor"]; - redelivery?: boolean; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a delivery for an app webhook - * @description Returns a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-webhook-delivery": { - parameters: { - path: { - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Redeliver a delivery for an app webhook - * @description Redeliver a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/redeliver-webhook-delivery": { - parameters: { - path: { - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List installation requests for the authenticated app - * @description Lists all the pending installation requests for the authenticated GitHub App. - */ - "apps/list-installation-requests-for-authenticated-app": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description List of integration installation requests */ - 200: { - content: { - "application/json": components["schemas"]["integration-installation-request"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * List installations for the authenticated app - * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. - */ - "apps/list-installations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - since?: components["parameters"]["since"]; - outdated?: string; - }; - }; - responses: { - /** @description The permissions the installation has are included under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - /** - * @description The ID of the installation. - * @example 1 - */ - id: number; - account: - | ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } & { - /** @description A short description of the enterprise. */ - description?: string | null; - /** - * Format: uri - * @example https://github.com/enterprises/octo-business - */ - html_url: string; - /** - * Format: uri - * @description The enterprise's website URL. - */ - website_url?: string | null; - /** - * @description Unique identifier of the enterprise - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the enterprise. - * @example Octo Business - */ - name: string; - /** - * @description The slug url identifier for the enterprise. - * @example octo-business - */ - slug: string; - /** - * Format: date-time - * @example 2019-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2019-01-26T19:14:43Z - */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }) - | null; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** - * Format: uri - * @example https://api.github.com/installations/1/access_tokens - */ - access_tokens_url: string; - /** - * Format: uri - * @example https://api.github.com/installation/repositories - */ - repositories_url: string; - /** - * Format: uri - * @example https://github.com/organizations/github/settings/installations/1 - */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - /** - * App Permissions - * @description The permissions granted to the user access token. - * @example { - * "contents": "read", - * "issues": "read", - * "deployments": "write", - * "single_file": "read" - * } - */ - permissions: { - /** - * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - * @enum {string} - */ - actions?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - * @enum {string} - */ - administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for checks on code. - * @enum {string} - */ - checks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - * @enum {string} - */ - contents?: "read" | "write"; - /** - * @description The level of permission to grant the access token for deployments and deployment statuses. - * @enum {string} - */ - deployments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for managing repository environments. - * @enum {string} - */ - environments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - * @enum {string} - */ - issues?: "read" | "write"; - /** - * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - * @enum {string} - */ - metadata?: "read" | "write"; - /** - * @description The level of permission to grant the access token for packages published to GitHub Packages. - * @enum {string} - */ - packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - * @enum {string} - */ - pages?: "read" | "write"; - /** - * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - * @enum {string} - */ - pull_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - * @enum {string} - */ - repository_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository projects, columns, and cards. - * @enum {string} - */ - repository_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token to view and manage secret scanning alerts. - * @enum {string} - */ - secret_scanning_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository secrets. - * @enum {string} - */ - secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - * @enum {string} - */ - security_events?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage just a single file. - * @enum {string} - */ - single_file?: "read" | "write"; - /** - * @description The level of permission to grant the access token for commit statuses. - * @enum {string} - */ - statuses?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage Dependabot alerts. - * @enum {string} - */ - vulnerability_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to update GitHub Actions workflow files. - * @enum {string} - */ - workflows?: "write"; - /** - * @description The level of permission to grant the access token for organization teams and members. - * @enum {string} - */ - members?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage access to an organization. - * @enum {string} - */ - organization_administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for custom repository roles management. This property is in beta and is subject to change. - * @enum {string} - */ - organization_custom_roles?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage announcement banners for an organization. - * @enum {string} - */ - organization_announcement_banners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - * @enum {string} - */ - organization_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. - * @enum {string} - */ - organization_personal_access_tokens?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. - * @enum {string} - */ - organization_personal_access_token_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing an organization's plan. - * @enum {string} - */ - organization_plan?: "read"; - /** - * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - * @enum {string} - */ - organization_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token for organization packages published to GitHub Packages. - * @enum {string} - */ - organization_packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage organization secrets. - * @enum {string} - */ - organization_secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - * @enum {string} - */ - organization_self_hosted_runners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage users blocked by the organization. - * @enum {string} - */ - organization_user_blocking?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage team discussions and related comments. - * @enum {string} - */ - team_discussions?: "read" | "write"; - }; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - /** - * Simple User - * @description A GitHub user. - */ - suspended_by: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }[]; - }; - }; - }; - }; - /** - * Get an installation for the authenticated app - * @description Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/delete-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/create-installation-access-token": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description List of repository names that the token should have access to */ - repositories?: string[]; - /** - * @description List of repository IDs that the token should have access to - * @example [ - * 1 - * ] - */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["installation-token"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Suspend an app installation - * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/suspend-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unsuspend an app installation - * @description Removes a GitHub App installation suspension. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/unsuspend-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an app authorization - * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - "apps/delete-authorization": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Check a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/check-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth or GitHub application. */ - access_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an app token - * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. - */ - "apps/delete-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Reset a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/reset-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth or GitHub application. */ - access_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a scoped access token - * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/scope-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The access token used to authenticate to the GitHub API. - * @example e72e16c7e42f292c6912e7710c838347ae178b4a - */ - access_token: string; - /** - * @description The name of the user or organization to scope the user access token to. **Required** unless `target_id` is specified. - * @example octocat - */ - target?: string; - /** - * @description The ID of the user or organization to scope the user access token to. **Required** unless `target` is specified. - * @example 1 - */ - target_id?: number; - /** @description The list of repository names to scope the user access token to. `repositories` may not be specified if `repository_ids` is specified. */ - repositories?: string[]; - /** - * @description The list of repository IDs to scope the user access token to. `repository_ids` may not be specified if `repositories` is specified. - * @example [ - * 1 - * ] - */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an app - * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/get-by-slug": { - parameters: { - path: { - app_slug: components["parameters"]["app-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get an assignment - * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - "classroom/get-an-assignment": { - parameters: { - path: { - assignment_id: components["parameters"]["assignment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom-assignment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List accepted assignments for an assignment - * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - "classroom/list-accepted-assigments-for-an-assignment": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - assignment_id: components["parameters"]["assignment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom-accepted-assignment"][]; - }; - }; - }; - }; - /** - * Get assignment grades - * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - "classroom/get-assignment-grades": { - parameters: { - path: { - assignment_id: components["parameters"]["assignment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom-assignment-grade"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List classrooms - * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. - */ - "classroom/list-classrooms": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-classroom"][]; - }; - }; - }; - }; - /** - * Get a classroom - * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. - */ - "classroom/get-a-classroom": { - parameters: { - path: { - classroom_id: components["parameters"]["classroom-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List assignments for a classroom - * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. - */ - "classroom/list-assignments-for-a-classroom": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - classroom_id: components["parameters"]["classroom-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-classroom-assignment"][]; - }; - }; - }; - }; - /** - * Get all codes of conduct - * @description Returns array of all GitHub's codes of conduct. - */ - "codes-of-conduct/get-all-codes-of-conduct": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a code of conduct - * @description Returns information about the specified GitHub code of conduct. - */ - "codes-of-conduct/get-conduct-code": { - parameters: { - path: { - key: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get emojis - * @description Lists all the emojis available to use on GitHub. - */ - "emojis/get": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - [key: string]: string; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * List Dependabot alerts for an enterprise - * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. - * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "dependabot/list-alerts-for-enterprise": { - parameters: { - query?: { - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - scope?: components["parameters"]["dependabot-alert-scope"]; - sort?: components["parameters"]["dependabot-alert-sort"]; - direction?: components["parameters"]["direction"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - first?: components["parameters"]["pagination-first"]; - last?: components["parameters"]["pagination-last"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert-with-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). - */ - "secret-scanning/list-alerts-for-enterprise": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List public events - * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. - */ - "activity/list-public-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get feeds - * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: - * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) - * * **Current user public**: The public timeline for the authenticated user - * * **Current user**: The private timeline for the authenticated user - * * **Current user actor**: The private timeline for activity created by the authenticated user - * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. - * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. - * - * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. - */ - "activity/get-feeds": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["feed"]; - }; - }; - }; - }; - /** - * List gists for the authenticated user - * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: - */ - "gists/list": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Create a gist - * @description Allows you to add a new gist with one or more files. - * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. - */ - "gists/create": { - requestBody: { - content: { - "application/json": { - /** - * @description Description of the gist - * @example Example Ruby script - */ - description?: string; - /** - * @description Names and content for the files that make up the gist - * @example { - * "hello.rb": { - * "content": "puts \"Hello, World!\"" - * } - * } - */ - files: { - [key: string]: { - /** @description Content of the file */ - content: string; - }; - }; - public?: boolean | ("true" | "false"); - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List public gists - * @description List public gists sorted by most recently updated to least recently updated. - * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. - */ - "gists/list-public": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List starred gists - * @description List the authenticated user's starred gists: - */ - "gists/list-starred": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Get a gist */ - "gists/get": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a gist */ - "gists/delete": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a gist - * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. - */ - "gists/update": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The description of the gist. - * @example Example Ruby script - */ - description?: string; - /** - * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename - * (including extension) of the targeted gist file. For example: `hello.py`. - * - * To delete a file, set the whole file to null. For example: `hello.py : null`. - * @example { - * "hello.rb": { - * "content": "blah", - * "filename": "goodbye.rb" - * } - * } - */ - files?: { - [key: string]: { - /** @description The new content of the file. */ - content?: string; - /** @description The new filename for the file. */ - filename?: string | null; - }; - }; - } | null; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** List gist comments */ - "gists/list-comments": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gist-comment"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Create a gist comment */ - "gists/create-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The comment text. - * @example Body of the attachment - */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Get a gist comment */ - "gists/get-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a gist comment */ - "gists/delete-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Update a gist comment */ - "gists/update-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The comment text. - * @example Body of the attachment - */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** List gist commits */ - "gists/list-commits": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["gist-commit"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** List gist forks */ - "gists/list-forks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gist-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Fork a gist */ - "gists/fork": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["base-gist"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Check if a gist is starred */ - "gists/check-is-starred": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response if gist is starred */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if gist is not starred */ - 404: { - content: { - "application/json": Record; - }; - }; - }; - }; - /** - * Star a gist - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "gists/star": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Unstar a gist */ - "gists/unstar": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Get a gist revision */ - "gists/get-revision": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - sha: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all gitignore templates - * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). - */ - "gitignore/get-all-templates": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a gitignore template - * @description The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. - */ - "gitignore/get-template": { - parameters: { - path: { - name: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gitignore-template"]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * List repositories accessible to the app installation - * @description List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/list-repos-accessible-to-installation": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - /** @example selected */ - repository_selection?: string; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Revoke an installation access token - * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. - * - * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/revoke-installation-access-token": { - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List issues assigned to the authenticated user - * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member - * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not - * necessarily assigned to you. - * - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list": { - parameters: { - query?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - filter?: - | "assigned" - | "created" - | "mentioned" - | "subscribed" - | "repos" - | "all"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - collab?: boolean; - orgs?: boolean; - owned?: boolean; - pulls?: boolean; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all commonly used licenses - * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - "licenses/get-all-commonly-used": { - parameters: { - query?: { - featured?: boolean; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a license - * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - "licenses/get": { - parameters: { - path: { - license: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Render a Markdown document */ - "markdown/render": { - requestBody: { - content: { - "application/json": { - /** @description The Markdown text to render in HTML. */ - text: string; - /** - * @description The rendering mode. - * @default markdown - * @example markdown - * @enum {string} - */ - mode?: "markdown" | "gfm"; - /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ - context?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - "Content-Type": components["headers"]["content-type"]; - /** @example 279 */ - "Content-Length"?: string; - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; - }; - content: { - "text/html": string; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Render a Markdown document in raw mode - * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. - */ - "markdown/render-raw": { - requestBody?: { - content: { - "text/plain": string; - "text/x-markdown": string; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; - }; - content: { - "text/html": string; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a subscription plan for an account - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/get-subscription-plan-for-account": { - parameters: { - path: { - account_id: components["parameters"]["account-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["marketplace-purchase"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * List plans - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-plans": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List accounts for a plan - * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-accounts-for-plan": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - plan_id: components["parameters"]["plan-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a subscription plan for an account (stubbed) - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/get-subscription-plan-for-account-stubbed": { - parameters: { - path: { - account_id: components["parameters"]["account-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["marketplace-purchase"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ - 404: { - content: never; - }; - }; - }; - /** - * List plans (stubbed) - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-plans-stubbed": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * List accounts for a plan (stubbed) - * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-accounts-for-plan-stubbed": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - plan_id: components["parameters"]["plan-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * Get GitHub meta information - * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." - * - * The API's response also includes a list of GitHub's domain names. - * - * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. - * - * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. - */ - "meta/get": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["api-overview"]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** List public events for a network of repositories */ - "activity/list-public-events-for-repo-network": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List notifications for the authenticated user - * @description List all notifications for the current user, sorted by most recently updated. - */ - "activity/list-notifications-for-authenticated-user": { - parameters: { - query?: { - all?: components["parameters"]["all"]; - participating?: components["parameters"]["participating"]; - since?: components["parameters"]["since"]; - before?: components["parameters"]["before"]; - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 50). */ - per_page?: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["thread"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Mark notifications as read - * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - "activity/mark-notifications-as-read": { - requestBody?: { - content: { - "application/json": { - /** - * Format: date-time - * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. - */ - last_read_at?: string; - /** @description Whether the notification has been read. */ - read?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - }; - }; - }; - /** @description Reset Content */ - 205: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a thread - * @description Gets information about a notification thread. - */ - "activity/get-thread": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Mark a thread as read - * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. - */ - "activity/mark-thread-as-read": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Reset Content */ - 205: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a thread subscription for the authenticated user - * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). - * - * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. - */ - "activity/get-thread-subscription-for-authenticated-user": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Set a thread subscription - * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. - * - * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - * - * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. - */ - "activity/set-thread-subscription": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to block all notifications from a thread. - * @default false - */ - ignored?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a thread subscription - * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. - */ - "activity/delete-thread-subscription": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get Octocat - * @description Get the octocat as ASCII art - */ - "meta/get-octocat": { - parameters: { - query?: { - /** @description The words to show in Octocat's speech bubble */ - s?: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/octocat-stream": string; - }; - }; - }; - }; - /** - * List organizations - * @description Lists all organizations, in the order that they were created on GitHub. - * - * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. - */ - "orgs/list": { - parameters: { - query?: { - since?: components["parameters"]["since-org"]; - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." - */ - "orgs/get": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an organization - * @description Deletes an organization and all its repositories. - * - * The organization login will be unavailable for 90 days after deletion. - * - * Please review the Terms of Service regarding account deletion before using this endpoint: - * - * https://docs.github.com/site-policy/github-terms/github-terms-of-service - */ - "orgs/delete": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization - * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. - */ - "orgs/update": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Billing email address. This address is not publicized. */ - billing_email?: string; - /** @description The company name. */ - company?: string; - /** @description The publicly visible email address. */ - email?: string; - /** @description The Twitter username of the company. */ - twitter_username?: string; - /** @description The location. */ - location?: string; - /** @description The shorthand name of the company. */ - name?: string; - /** @description The description of the company. */ - description?: string; - /** @description Whether an organization can use organization projects. */ - has_organization_projects?: boolean; - /** @description Whether repositories that belong to the organization can use repository projects. */ - has_repository_projects?: boolean; - /** - * @description Default permission level members have for organization repositories. - * @default read - * @enum {string} - */ - default_repository_permission?: "read" | "write" | "admin" | "none"; - /** - * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. - * @default true - */ - members_can_create_repositories?: boolean; - /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_internal_repositories?: boolean; - /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_private_repositories?: boolean; - /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_public_repositories?: boolean; - /** - * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. - * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. - * @enum {string} - */ - members_allowed_repository_creation_type?: "all" | "private" | "none"; - /** - * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_pages?: boolean; - /** - * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_public_pages?: boolean; - /** - * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_private_pages?: boolean; - /** - * @description Whether organization members can fork private organization repositories. - * @default false - */ - members_can_fork_private_repositories?: boolean; - /** - * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. - * @default false - */ - web_commit_signoff_required?: boolean; - /** @example "http://github.blog" */ - blog?: string; - /** - * @description Whether GitHub Advanced Security is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @description Whether Dependabot alerts is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @description Whether Dependabot security updates is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependency graph is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning push protection is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ - secret_scanning_push_protection_custom_link?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 409: components["responses"]["conflict"]; - /** @description Validation failed */ - 422: { - content: { - "application/json": - | components["schemas"]["validation-error"] - | components["schemas"]["validation-error-simple"]; - }; - }; - }; - }; - /** - * Get GitHub Actions cache usage for an organization - * @description Gets the total GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; - }; - }; - }; - }; - /** - * List repositories with GitHub Actions cache usage for an organization - * @description Lists repositories and their GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage-by-repo-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; - }; - }; - }; - }; - }; - /** - * Get the customization template for an OIDC subject claim for an organization - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - */ - "oidc/get-oidc-custom-sub-template-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description A JSON serialized template for OIDC subject claim customization */ - 200: { - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - }; - }; - /** - * Set the customization template for an OIDC subject claim for an organization - * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `write:org` scope to use this endpoint. - * GitHub Apps must have the `admin:org` permission to use this endpoint. - */ - "oidc/update-oidc-custom-sub-template-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - responses: { - /** @description Empty response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get GitHub Actions permissions for an organization - * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-github-actions-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-organization-permissions"]; - }; - }; - }; - }; - /** - * Set GitHub Actions permissions for an organization - * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-github-actions-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories enabled for GitHub Actions in an organization - * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/list-selected-repositories-enabled-github-actions-organization": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - }; - }; - }; - }; - }; - /** - * Set selected repositories enabled for GitHub Actions in an organization - * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-selected-repositories-enabled-github-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description List of repository IDs to enable for GitHub Actions. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Enable a selected repository for GitHub Actions in an organization - * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/enable-selected-repository-github-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Disable a selected repository for GitHub Actions in an organization - * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/disable-selected-repository-github-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get allowed actions and reusable workflows for an organization - * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-allowed-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - /** - * Set allowed actions and reusable workflows for an organization - * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-allowed-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get default workflow permissions for an organization - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, - * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-github-actions-default-workflow-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; - }; - }; - }; - }; - /** - * Set default workflow permissions for an organization - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions - * can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-github-actions-default-workflow-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; - responses: { - /** @description Success response */ - 204: { - content: never; - }; - }; - }; - /** - * List self-hosted runners for an organization - * @description Lists all self-hosted runners configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-self-hosted-runners-for-org": { - parameters: { - query?: { - /** @description The name of a self-hosted runner. */ - name?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; - }; - }; - }; - }; - /** - * List runner applications for an organization - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-runner-applications-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner-application"][]; - }; - }; - }; - }; - /** - * Create configuration for a just-in-time runner for an organization - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/generate-runner-jitconfig-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the new runner. */ - name: string; - /** @description The ID of the runner group to register the runner to. */ - runner_group_id: number; - /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ - labels: string[]; - /** - * @description The working directory to be used for job execution, relative to the runner install directory. - * @default _work - */ - work_folder?: string; - }; - }; - }; - responses: { - 201: components["responses"]["actions_runner_jitconfig"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create a registration token for an organization - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` - */ - "actions/create-registration-token-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Create a remove token for an organization - * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - */ - "actions/create-remove-token-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Get a self-hosted runner for an organization - * @description Gets a specific self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/get-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner"]; - }; - }; - }; - }; - /** - * Delete a self-hosted runner from an organization - * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/delete-self-hosted-runner-from-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List labels for a self-hosted runner for an organization - * @description Lists all labels for a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-labels-for-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set custom labels for a self-hosted runner for an organization - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/set-custom-labels-for-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ - labels: string[]; - }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Add custom labels to a self-hosted runner for an organization - * @description Add custom labels to a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/add-custom-labels-to-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: string[]; - }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Remove all custom labels from a self-hosted runner for an organization - * @description Remove all custom labels from a self-hosted runner configured in an - * organization. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove a custom label from a self-hosted runner for an organization - * @description Remove a custom label from a self-hosted runner configured - * in an organization. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-custom-label-from-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - name: components["parameters"]["runner-label-name"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-org-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["organization-actions-secret"][]; - }; - }; - }; - }; - }; - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-org-public-key": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-actions-secret"]; - }; - }; - }; - }; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to - * use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. - * - * ``` - * const sodium = require('tweetsodium'); - * - * const key = "base64-encoded-public-key"; - * const value = "plain-text-secret"; - * - * // Convert the message and key to Uint8Array's (Buffer implements that interface) - * const messageBytes = Buffer.from(value); - * const keyBytes = Buffer.from(key, 'base64'); - * - * // Encrypt using LibSodium. - * const encryptedBytes = sodium.seal(messageBytes, keyBytes); - * - * // Base64 the encrypted secret - * const encrypted = Buffer.from(encryptedBytes).toString('base64'); - * - * console.log(encrypted); - * ``` - * - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` - */ - "actions/create-or-update-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/actions#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/actions#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/actions#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: (number | string)[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/delete-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` - * for repository access to a secret is set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-selected-repos-for-org-secret": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - }; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/set-selected-repos-for-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for - * repository access is set to `selected`. The visibility is set when you [Create or - * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type is not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/remove-selected-repo-from-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * List organization variables - * @description Lists all organization variables. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-org-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["organization-actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Create an organization variable - * @description Creates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/create-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - /** - * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a variable */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get an organization variable - * @description Gets a specific variable in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/get-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-actions-variable"]; - }; - }; - }; - }; - /** - * Delete an organization variable - * @description Deletes an organization variable using the variable name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/delete-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an organization variable - * @description Updates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/update-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - /** - * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. - * @enum {string} - */ - visibility?: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for an organization variable - * @description Lists all repositories that can access an organization variable - * that is available to selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-selected-repos-for-org-variable": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * Set selected repositories for an organization variable - * @description Replaces all repositories for an organization variable that is available - * to selected repositories. Organization variables that are available to selected - * repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this - * endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/set-selected-repos-for-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The IDs of the repositories that can access the organization variable. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization variable - * @description Adds a repository to an organization variable that is available to selected repositories. - * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/add-selected-repo-to-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * Remove selected repository from an organization variable - * @description Removes a repository from an organization variable that is - * available to selected repositories. Organization variables that are available to - * selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/remove-selected-repo-from-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * List users blocked by an organization - * @description List the users blocked by an organization. - */ - "orgs/list-blocked-users": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Check if a user is blocked by an organization - * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. - */ - "orgs/check-blocked-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description If the user is blocked */ - 204: { - content: never; - }; - /** @description If the user is not blocked */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Block a user from an organization - * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. - */ - "orgs/block-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Unblock a user from an organization - * @description Unblocks the given user on behalf of the specified organization. - */ - "orgs/unblock-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List code scanning alerts for an organization - * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/list-alerts-for-org": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - direction?: components["parameters"]["direction"]; - /** @description If specified, only code scanning alerts with this state will be returned. */ - state?: components["schemas"]["code-scanning-alert-state-query"]; - /** @description The property by which to sort the results. */ - sort?: "created" | "updated"; - /** @description If specified, only code scanning alerts with this severity will be returned. */ - severity?: components["schemas"]["code-scanning-alert-severity"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List codespaces for the organization - * @description Lists the codespaces associated to a specified organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/list-in-organization": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Manage access control for organization codespaces - * @deprecated - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/set-codespaces-access": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. - * @enum {string} - */ - visibility: - | "disabled" - | "selected_members" - | "all_members" - | "all_members_and_outside_collaborators"; - /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ - selected_usernames?: string[]; - }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add users to Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/set-codespaces-access-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members whose codespaces be billed to the organization. */ - selected_usernames: string[]; - }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove users from Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will no longer be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/delete-codespaces-access-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ - selected_usernames: string[]; - }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List organization secrets - * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/list-org-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["codespaces-org-secret"][]; - }; - }; - }; - }; - }; - /** - * Get an organization public key - * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/get-org-public-key": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-public-key"]; - }; - }; - }; - }; - /** - * Get an organization secret - * @description Gets an organization secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/get-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["codespaces-org-secret"]; - }; - }; - }; - }; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. - */ - "codespaces/create-or-update-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description The ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an organization secret - * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/delete-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/list-selected-repos-for-org-secret": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/set-selected-repos-for-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type is not set to selected */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/remove-selected-repo-from-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get Copilot for Business seat information and settings for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets information about an organization's Copilot for Business subscription, including seat breakdown - * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. - * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/get-copilot-organization-details": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": components["schemas"]["copilot-organization-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List all Copilot for Business seat assignments for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/list-copilot-seats": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). */ - per_page?: number; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - /** @description Total number of Copilot For Business seats for the organization currently being billed. */ - total_seats?: number; - seats?: components["schemas"]["copilot-seat-details"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add teams to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for all users within each specified team. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - "copilot/add-copilot-for-business-seats-for-teams": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ - selected_teams: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 201: { - content: { - "application/json": { - seats_created: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove teams from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for all members of each team specified. - * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/cancel-copilot-seat-assignment-for-teams": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of teams from which to revoke access to GitHub Copilot. */ - selected_teams: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": { - seats_cancelled: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add users to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for each user specified. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - "copilot/add-copilot-for-business-seats-for-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ - selected_usernames: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 201: { - content: { - "application/json": { - seats_created: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove users from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for each user specified. - * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)" - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/cancel-copilot-seat-assignment-for-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ - selected_usernames: string[]; - }; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": { - seats_cancelled: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List Dependabot alerts for an organization - * @description Lists Dependabot alerts for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - "dependabot/list-alerts-for-org": { - parameters: { - query?: { - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - scope?: components["parameters"]["dependabot-alert-scope"]; - sort?: components["parameters"]["dependabot-alert-sort"]; - direction?: components["parameters"]["direction"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - first?: components["parameters"]["pagination-first"]; - last?: components["parameters"]["pagination-last"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert-with-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/list-org-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["organization-dependabot-secret"][]; - }; - }; - }; - }; - }; - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/get-org-public-key": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-public-key"]; - }; - }; - }; - }; - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/get-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-dependabot-secret"]; - }; - }; - }; - }; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization - * permission to use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. - * - * ``` - * const sodium = require('tweetsodium'); - * - * const key = "base64-encoded-public-key"; - * const value = "plain-text-secret"; - * - * // Convert the message and key to Uint8Array's (Buffer implements that interface) - * const messageBytes = Buffer.from(value); - * const keyBytes = Buffer.from(key, 'base64'); - * - * // Encrypt using LibSodium. - * const encryptedBytes = sodium.seal(messageBytes, keyBytes); - * - * // Base64 the encrypted secret - * const encrypted = Buffer.from(encryptedBytes).toString('base64'); - * - * console.log(encrypted); - * ``` - * - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` - */ - "dependabot/create-or-update-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/reference/dependabot#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/reference/dependabot#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/reference/dependabot#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: (string | number)[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/delete-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/list-selected-repos-for-org-secret": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - }; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/set-selected-repos-for-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type is not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/remove-selected-repo-from-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Get list of conflicting packages during Docker migration for organization - * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - "packages/list-docker-migration-conflicting-packages-for-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** List public organization events */ - "activity/list-public-org-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List failed organization invitations - * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. - */ - "orgs/list-failed-invitations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** List organization webhooks */ - "orgs/list-webhooks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["org-hook"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an organization webhook - * @description Here's how you can create a hook that posts payloads in JSON format: - */ - "orgs/create-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Must be passed as "web". */ - name: string; - /** @description Key/value pairs to provide settings for this webhook. */ - config: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - /** @example "kdaigle" */ - username?: string; - /** @example "password" */ - password?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/orgs/octocat/hooks/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an organization webhook - * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." - */ - "orgs/get-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete an organization webhook */ - "orgs/delete-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization webhook - * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." - */ - "orgs/update-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - /** @example "web" */ - name?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a webhook configuration for an organization - * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. - */ - "orgs/get-webhook-config-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * Update a webhook configuration for an organization - * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. - */ - "orgs/update-webhook-config-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * List deliveries for an organization webhook - * @description Returns a list of webhook deliveries for a webhook configured in an organization. - */ - "orgs/list-webhook-deliveries": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - cursor?: components["parameters"]["cursor"]; - redelivery?: boolean; - }; - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a webhook delivery for an organization webhook - * @description Returns a delivery for a webhook configured in an organization. - */ - "orgs/get-webhook-delivery": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Redeliver a delivery for an organization webhook - * @description Redeliver a delivery for a webhook configured in an organization. - */ - "orgs/redeliver-webhook-delivery": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Ping an organization webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - "orgs/ping-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get an organization installation for the authenticated app - * @description Enables an authenticated GitHub App to find the organization's installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-org-installation": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - /** - * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. - */ - "orgs/list-app-installations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; - }; - }; - }; - }; - /** - * Get interaction restrictions for an organization - * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. - */ - "interactions/get-restrictions-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": - | components["schemas"]["interaction-limit-response"] - | Record; - }; - }; - }; - }; - /** - * Set interaction restrictions for an organization - * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. - */ - "interactions/set-restrictions-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove interaction restrictions for an organization - * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. - */ - "interactions/remove-restrictions-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List pending organization invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - "orgs/list-pending-invitations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Filter invitations by their member role. */ - role?: - | "all" - | "admin" - | "direct_member" - | "billing_manager" - | "hiring_manager"; - /** @description Filter invitations by their invitation source. */ - invitation_source?: "all" | "member" | "scim"; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an organization invitation - * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "orgs/create-invitation": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ - invitee_id?: number; - /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ - email?: string; - /** - * @description The role for the new member. - * * `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. - * * `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. - * * `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. - * @default direct_member - * @enum {string} - */ - role?: "admin" | "direct_member" | "billing_manager"; - /** @description Specify IDs for the teams you want to invite new members to. */ - team_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["organization-invitation"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Cancel an organization invitation - * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - */ - "orgs/cancel-invitation": { - parameters: { - path: { - org: components["parameters"]["org"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List organization invitation teams - * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. - */ - "orgs/list-invitation-teams": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organization issues assigned to the authenticated user - * @description List issues in an organization assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-org": { - parameters: { - query?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - filter?: - | "assigned" - | "created" - | "mentioned" - | "subscribed" - | "repos" - | "all"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organization members - * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. - */ - "orgs/list-members": { - parameters: { - query?: { - /** @description Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ - filter?: "2fa_disabled" | "all"; - /** @description Filter members returned by their role. */ - role?: "all" | "admin" | "member"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Check organization membership for a user - * @description Check if a user is, publicly or privately, a member of the organization. - */ - "orgs/check-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response if requester is an organization member and user is a member */ - 204: { - content: never; - }; - /** @description Response if requester is not an organization member */ - 302: { - headers: { - /** @example https://api.github.com/orgs/github/public_members/pezra */ - Location?: string; - }; - content: never; - }; - /** @description Not Found if requester is an organization member and user is not a member */ - 404: { - content: never; - }; - }; - }; - /** - * Remove an organization member - * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. - */ - "orgs/remove-member": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List codespaces for a user in organization - * @description Lists the codespaces that a member of an organization has for repositories in that organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/get-codespaces-for-user-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete a codespace from the organization - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/delete-from-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Stop a codespace for an organization user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/stop-in-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get Copilot for Business seat assignment details for a user - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot. - * - * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/get-copilot-seat-assignment-details-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description The user's GitHub Copilot seat details, including usage. */ - 200: { - content: { - "application/json": components["schemas"]["copilot-seat-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization or the user has a pending organization invitation. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get organization membership for a user - * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. - */ - "orgs/get-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set organization membership for a user - * @description Only authenticated organization owners can add a member to the organization or update the member's role. - * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * - * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. - * - * **Rate limits** - * - * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. - */ - "orgs/set-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role to give the user in the organization. Can be one of: - * * `admin` - The user will become an owner of the organization. - * * `member` - The user will become a non-owner member of the organization. - * @default member - * @enum {string} - */ - role?: "admin" | "member"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove organization membership for a user - * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. - * - * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. - */ - "orgs/remove-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organization migrations - * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). - * - * A list of `repositories` is only returned for export migrations. - */ - "migrations/list-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Exclude attributes from the API response to improve performance */ - exclude?: "repositories"[]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["migration"][]; - }; - }; - }; - }; - /** - * Start an organization migration - * @description Initiates the generation of a migration archive. - */ - "migrations/start-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A list of arrays indicating which repositories should be migrated. */ - repositories: string[]; - /** - * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. - * @default false - * @example true - */ - lock_repositories?: boolean; - /** - * @description Indicates whether metadata should be excluded and only git source should be included for the migration. - * @default false - */ - exclude_metadata?: boolean; - /** - * @description Indicates whether the repository git data should be excluded from the migration. - * @default false - */ - exclude_git_data?: boolean; - /** - * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). - * @default false - * @example true - */ - exclude_attachments?: boolean; - /** - * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). - * @default false - * @example true - */ - exclude_releases?: boolean; - /** - * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. - * @default false - * @example true - */ - exclude_owner_projects?: boolean; - /** - * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). - * @default false - * @example true - */ - org_metadata_only?: boolean; - /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ - exclude?: "repositories"[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an organization migration status - * @description Fetches the status of a migration. - * - * The `state` of a migration can be one of the following values: - * - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - "migrations/get-status-for-org": { - parameters: { - query?: { - /** @description Exclude attributes from the API response to improve performance */ - exclude?: "repositories"[]; - }; - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** - * @description * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - 200: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download an organization migration archive - * @description Fetches the URL to a migration archive. - */ - "migrations/download-archive-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 302: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an organization migration archive - * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. - */ - "migrations/delete-archive-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unlock an organization repository - * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. - */ - "migrations/unlock-repo-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - repo_name: components["parameters"]["repo-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories in an organization migration - * @description List all the repositories for this organization migration. - */ - "migrations/list-repos-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List outside collaborators for an organization - * @description List all users who are outside collaborators of an organization. - */ - "orgs/list-outside-collaborators": { - parameters: { - query?: { - /** @description Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ - filter?: "2fa_disabled" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Convert an organization member to outside collaborator - * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - */ - "orgs/convert-member-to-outside-collaborator": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. - * @default false - */ - async?: boolean; - }; - }; - }; - responses: { - /** @description User is getting converted asynchronously */ - 202: { - content: { - "application/json": Record; - }; - }; - /** @description User was converted */ - 204: { - content: never; - }; - /** @description Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ - 403: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove outside collaborator from an organization - * @description Removing a user from this list will remove them from all the organization's repositories. - */ - "orgs/remove-outside-collaborator": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Unprocessable Entity if user is a member of the organization */ - 422: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - }; - }; - /** - * List packages for an organization - * @description Lists packages in an organization readable by the user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/list-packages-for-organization": { - parameters: { - query: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - package_type: - | "npm" - | "maven" - | "rubygems" - | "docker" - | "nuget" - | "container"; - visibility?: components["parameters"]["package-visibility"]; - /** @description Page number of the results to fetch. */ - page?: number; - /** @description The number of results per page (max 100). */ - per_page?: number; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a package for an organization - * @description Gets a specific package in an organization. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-for-organization": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - /** - * Delete a package for an organization - * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-for-org": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package for an organization - * @description Restores an entire package in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-for-org": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List package versions for a package owned by an organization - * @description Lists package versions for a package owned by an organization. - * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-all-package-versions-for-package-owned-by-org": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The state of the package, either active or deleted. */ - state?: "active" | "deleted"; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a package version for an organization - * @description Gets a specific package version in an organization. - * - * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-version-for-organization": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - /** - * Delete package version for an organization - * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-version-for-org": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore package version for an organization - * @description Restores a specific package version in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-version-for-org": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List requests to access organization resources with fine-grained personal access tokens - * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-requests": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - sort?: components["parameters"]["personal-access-token-sort"]; - direction?: components["parameters"]["direction"]; - owner?: components["parameters"]["personal-access-token-owner"]; - repository?: components["parameters"]["personal-access-token-repository"]; - permission?: components["parameters"]["personal-access-token-permission"]; - last_used_before?: components["parameters"]["personal-access-token-before"]; - last_used_after?: components["parameters"]["personal-access-token-after"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Review requests to access organization resources with fine-grained personal access tokens - * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/review-pat-grant-requests-in-bulk": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ - pat_request_ids?: number[]; - /** - * @description Action to apply to the requests. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the requests. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Review a request to access organization resources with a fine-grained personal access token - * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/review-pat-grant-request": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the request. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the request. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List repositories requested to be accessed by a fine-grained personal access token - * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-request-repositories": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List fine-grained personal access tokens with access to organization resources - * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grants": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - sort?: components["parameters"]["personal-access-token-sort"]; - direction?: components["parameters"]["direction"]; - owner?: components["parameters"]["personal-access-token-owner"]; - repository?: components["parameters"]["personal-access-token-repository"]; - permission?: components["parameters"]["personal-access-token-permission"]; - last_used_before?: components["parameters"]["personal-access-token-before"]; - last_used_after?: components["parameters"]["personal-access-token-after"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update the access to organization resources via fine-grained personal access tokens - * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/update-pat-accesses": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - /** @description The IDs of the fine-grained personal access tokens. */ - pat_ids: number[]; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update the access a fine-grained personal access token has to organization resources - * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/update-pat-access": { - parameters: { - path: { - org: components["parameters"]["org"]; - pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List repositories a fine-grained personal access token has access to - * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-repositories": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the fine-grained personal access token. */ - pat_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List organization projects - * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/list-for-org": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create an organization project - * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/create-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List public organization members - * @description Members of an organization can choose to have their membership publicized or not. - */ - "orgs/list-public-members": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Check public organization membership for a user - * @description Check if the provided user is a public member of the organization. - */ - "orgs/check-public-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response if user is a public member */ - 204: { - content: never; - }; - /** @description Not Found if user is not a public member */ - 404: { - content: never; - }; - }; - }; - /** - * Set public organization membership for the authenticated user - * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "orgs/set-public-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Remove public organization membership for the authenticated user - * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. - */ - "orgs/remove-public-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List organization repositories - * @description Lists repositories for the specified organization. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "repos/list-for-org": { - parameters: { - query?: { - /** @description Specifies the types of repositories you want returned. */ - type?: "all" | "public" | "private" | "forks" | "sources" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Create an organization repository - * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - "repos/create-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the repository. */ - name: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Whether the repository is private. - * @default false - */ - private?: boolean; - /** - * @description The visibility of the repository. - * @enum {string} - */ - visibility?: "public" | "private"; - /** - * @description Either `true` to enable issues for this repository or `false` to disable them. - * @default true - */ - has_issues?: boolean; - /** - * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. - * @default true - */ - has_projects?: boolean; - /** - * @description Either `true` to enable the wiki for this repository or `false` to disable it. - * @default true - */ - has_wiki?: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads?: boolean; - /** - * @description Either `true` to make this repo available as a template repository or `false` to prevent it. - * @default false - */ - is_template?: boolean; - /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - team_id?: number; - /** - * @description Pass `true` to create an initial commit with empty README. - * @default false - */ - auto_init?: boolean; - /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ - gitignore_template?: string; - /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ - license_template?: string; - /** - * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.** - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all organization repository rulesets - * @description Get all the repository rulesets for an organization. - */ - "repos/get-org-rulesets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create an organization repository ruleset - * @description Create a repository ruleset for an organization. - */ - "repos/create-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - /** @description Request body */ - requestBody: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["org-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get an organization repository ruleset - * @description Get a repository ruleset for an organization. - */ - "repos/get-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update an organization repository ruleset - * @description Update a ruleset for an organization. - */ - "repos/update-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - /** @description Request body */ - requestBody?: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name?: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement?: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["org-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete an organization repository ruleset - * @description Delete a ruleset for an organization. - */ - "repos/delete-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-alerts-for-org": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; - after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository security advisories for an organization - * @description Lists repository security advisories for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. - */ - "security-advisories/list-org-repository-advisories": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "published"; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - /** @description The number of advisories to return per page. */ - per_page?: number; - /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ - state?: "triage" | "draft" | "published" | "closed"; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List security manager teams - * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. - * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. - */ - "orgs/list-security-manager-teams": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-simple"][]; - }; - }; - }; - }; - /** - * Add a security manager team - * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - "orgs/add-security-manager-team": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description The organization has reached the maximum number of security manager teams. */ - 409: { - content: never; - }; - }; - }; - /** - * Remove a security manager team - * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - "orgs/remove-security-manager-team": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get GitHub Actions billing for an organization - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - "billing/get-github-actions-billing-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; - }; - }; - }; - /** - * Get GitHub Packages billing for an organization - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - "billing/get-github-packages-billing-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; - }; - }; - /** - * Get shared storage billing for an organization - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - "billing/get-shared-storage-billing-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; - }; - }; - /** - * List teams - * @description Lists all teams in an organization that are visible to the authenticated user. - */ - "teams/list": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Create a team - * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - "teams/create": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** @description List GitHub IDs for organization members who will become team maintainers. */ - maintainers?: string[]; - /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ - repo_names?: string[]; - /** - * @description The level of privacy this team should have. The options are: - * **For a non-nested team:** - * * `secret` - only visible to organization owners and members of this team. - * * `closed` - visible to all members of this organization. - * Default: `secret` - * **For a parent or child team:** - * * `closed` - visible to all members of this organization. - * Default for child team: `closed` - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description The notification setting the team has chosen. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * Default: `notifications_enabled` - * @enum {string} - */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a team by name - * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. - */ - "teams/get-by-name": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a team - * @description To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. - */ - "teams/delete-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a team - * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. - */ - "teams/update-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the team. */ - name?: string; - /** @description The description of the team. */ - description?: string; - /** - * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: - * **For a non-nested team:** - * * `secret` - only visible to organization owners and members of this team. - * * `closed` - visible to all members of this organization. - * **For a parent or child team:** - * * `closed` - visible to all members of this organization. - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * @enum {string} - */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number | null; - }; - }; - }; - responses: { - /** @description Response when the updated information already exists */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List discussions - * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. - */ - "teams/list-discussions-in-org": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Pinned discussions only filter */ - pinned?: string; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion"][]; - }; - }; - }; - }; - /** - * Create a discussion - * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. - */ - "teams/create-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title: string; - /** @description The discussion post's body text. */ - body: string; - /** - * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. - * @default false - */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Get a discussion - * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - "teams/get-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Delete a discussion - * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - "teams/delete-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion - * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - "teams/update-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * List discussion comments - * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - "teams/list-discussion-comments-in-org": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"][]; - }; - }; - }; - }; - /** - * Create a discussion comment - * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - "teams/create-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Get a discussion comment - * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/get-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Delete a discussion comment - * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/delete-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion comment - * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/update-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * List reactions for a team discussion comment - * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - "reactions/list-for-team-discussion-comment-in-org": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion comment - * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - "reactions/create-for-team-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. - * @enum {string} - */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; - }; - responses: { - /** @description Response when the reaction type has already been added to this team discussion comment */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * Delete team discussion comment reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/delete-for-team-discussion-comment": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List reactions for a team discussion - * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - "reactions/list-for-team-discussion-in-org": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion - * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - "reactions/create-for-team-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. - * @enum {string} - */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * Delete team discussion reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/delete-for-team-discussion": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List pending team invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. - */ - "teams/list-pending-invitations-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - }; - }; - /** - * List team members - * @description Team members will include the members of child teams. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - "teams/list-members-in-org": { - parameters: { - query?: { - /** @description Filters members returned by their role in the team. */ - role?: "member" | "maintainer" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Get team membership for a user - * @description Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - "teams/get-membership-for-user-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description if user has no team membership */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team membership for a user - * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - "teams/add-or-update-membership-for-user-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} - */ - role?: "member" | "maintainer"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - content: never; - }; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: { - content: never; - }; - }; - }; - /** - * Remove team membership for a user - * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - "teams/remove-membership-for-user-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - content: never; - }; - }; - }; - /** - * List team projects - * @description Lists the organization projects for a team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. - */ - "teams/list-projects-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-project"][]; - }; - }; - }; - }; - /** - * Check team permissions for a project - * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/check-permissions-for-project-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-project"]; - }; - }; - /** @description Not Found if project is not managed by this team */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team project permissions - * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/add-or-update-project-permissions-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - } | null; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Forbidden if the project is not owned by the organization */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - }; - }; - /** - * Remove a project from a team - * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/remove-project-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List team repositories - * @description Lists a team's repositories visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. - */ - "teams/list-repos-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Check team permissions for a repository - * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. - * - * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - "teams/check-permissions-for-repo-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Alternative response with repository permissions */ - 200: { - content: { - "application/json": components["schemas"]["team-repository"]; - }; - }; - /** @description Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ - 204: { - content: never; - }; - /** @description Not Found if team does not have permission for the repository */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team repository permissions - * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". - */ - "teams/add-or-update-repo-permissions-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. - * @default push - */ - permission?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Remove a repository from a team - * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - "teams/remove-repo-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List child teams - * @description Lists the child teams of the team specified by `{team_slug}`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. - */ - "teams/list-child-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description if child teams exist */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - }; - }; - /** - * Enable or disable a security feature for an organization - * @description Enables or disables the specified security feature for all eligible repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. - * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "orgs/enable-or-disable-security-product-on-all-org-repos": { - parameters: { - path: { - org: components["parameters"]["org"]; - security_product: components["parameters"]["security-product"]; - enablement: components["parameters"]["org-security-product-enablement"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. - * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. - * @enum {string} - */ - query_suite?: "default" | "extended"; - }; - }; - }; - responses: { - /** @description Action started */ - 204: { - content: never; - }; - /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ - 422: { - content: never; - }; - }; - }; - /** - * Get a project card - * @description Gets information about a project card. - */ - "projects/get-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a project card - * @description Deletes a project card - */ - "projects/delete-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Update an existing project card */ - "projects/update-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The project card's note - * @example Update all gems - */ - note?: string | null; - /** - * @description Whether or not the card is archived - * @example false - */ - archived?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** Move a project card */ - "projects/move-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. - * @example bottom - */ - position: string; - /** - * @description The unique identifier of the column the card should be moved to - * @example 42 - */ - column_id?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": Record; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - resource?: string; - field?: string; - }[]; - }; - }; - }; - 422: components["responses"]["validation_failed"]; - /** @description Response */ - 503: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; - }; - }; - }; - }; - }; - /** - * Get a project column - * @description Gets information about a project column. - */ - "projects/get-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a project column - * @description Deletes a project column. - */ - "projects/delete-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Update an existing project column */ - "projects/update-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Name of the project column - * @example Remaining tasks - */ - name: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List project cards - * @description Lists the project cards in a project. - */ - "projects/list-cards": { - parameters: { - query?: { - /** @description Filters the project cards that are returned by the card's state. */ - archived_state?: "all" | "archived" | "not_archived"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project-card"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Create a project card */ - "projects/create-card": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - requestBody: { - content: { - "application/json": OneOf< - [ - { - /** - * @description The project card's note - * @example Update all gems - */ - note: string | null; - }, - { - /** - * @description The unique identifier of the content associated with the card - * @example 42 - */ - content_id: number; - /** - * @description The piece of content associated with the card - * @example PullRequest - */ - content_type: string; - }, - ] - >; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Validation failed */ - 422: { - content: { - "application/json": - | components["schemas"]["validation-error"] - | components["schemas"]["validation-error-simple"]; - }; - }; - /** @description Response */ - 503: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; - }; - }; - }; - }; - }; - /** Move a project column */ - "projects/move-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. - * @example last - */ - position: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": Record; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a project - * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/get": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a project - * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. - */ - "projects/delete": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Delete Success */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Update a project - * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/update": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Name of the project - * @example Week One Sprint - */ - name?: string; - /** - * @description Body of the project - * @example This project represents the sprint of the first week in January - */ - body?: string | null; - /** - * @description State of the project; either 'open' or 'closed' - * @example open - */ - state?: string; - /** - * @description The baseline permission that all organization members have on this project - * @enum {string} - */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** @description Whether or not this project can be seen by everyone. */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - /** @description Not Found if the authenticated user does not have access to the project */ - 404: { - content: never; - }; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List project collaborators - * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. - */ - "projects/list-collaborators": { - parameters: { - query?: { - /** @description Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ - affiliation?: "outside" | "direct" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add project collaborator - * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. - */ - "projects/add-collaborator": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the collaborator. - * @default write - * @example write - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - } | null; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove user as a collaborator - * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. - */ - "projects/remove-collaborator": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get project permission for a user - * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. - */ - "projects/get-permission-for-user": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-collaborator-permission"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List project columns - * @description Lists the project columns in a project. - */ - "projects/list-columns": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project-column"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Create a project column - * @description Creates a new project column. - */ - "projects/create-column": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Name of the project column - * @example Remaining tasks - */ - name: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get rate limit status for the authenticated user - * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. - * - * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: - * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. - * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search)." - * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." - * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." - * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." - * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." - * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." - * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." - * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. - */ - "rate-limit/get": { - responses: { - /** @description Response */ - 200: { - headers: { - "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; - "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; - "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; - }; - content: { - "application/json": components["schemas"]["rate-limit-overview"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a repository - * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "repos/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a repository - * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. - */ - "repos/delete": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 307: components["responses"]["temporary_redirect"]; - /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a repository - * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. - */ - "repos/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the repository. */ - name?: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. - * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. - * @default false - */ - private?: boolean; - /** - * @description The visibility of the repository. - * @enum {string} - */ - visibility?: "public" | "private"; - /** - * @description Specify which security and analysis features to enable or disable for the repository. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: - * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. - * - * You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. - */ - security_and_analysis?: { - /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ - advanced_security?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ - secret_scanning?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ - secret_scanning_push_protection?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - } | null; - /** - * @description Either `true` to enable issues for this repository or `false` to disable them. - * @default true - */ - has_issues?: boolean; - /** - * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. - * @default true - */ - has_projects?: boolean; - /** - * @description Either `true` to enable the wiki for this repository or `false` to disable it. - * @default true - */ - has_wiki?: boolean; - /** - * @description Either `true` to make this repo available as a template repository or `false` to prevent it. - * @default false - */ - is_template?: boolean; - /** @description Updates the default branch for this repository. */ - default_branch?: string; - /** - * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. - * @default false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to archive this repository. `false` will unarchive a previously archived repository. - * @default false - */ - archived?: boolean; - /** - * @description Either `true` to allow private forks, or `false` to prevent private forks. - * @default false - */ - allow_forking?: boolean; - /** - * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. - * @default false - */ - web_commit_signoff_required?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 307: components["responses"]["temporary_redirect"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List artifacts for a repository - * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-artifacts-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - name?: components["parameters"]["artifact-name"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; - }; - }; - }; - }; - /** - * Get an artifact - * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-artifact": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - artifact_id: components["parameters"]["artifact-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["artifact"]; - }; - }; - }; - }; - /** - * Delete an artifact - * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-artifact": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - artifact_id: components["parameters"]["artifact-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Download an artifact - * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in - * the response header to find the URL for the download. The `:archive_format` must be `zip`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/download-artifact": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - artifact_id: components["parameters"]["artifact-id"]; - archive_format: string; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - Location: components["headers"]["location"]; - }; - content: never; - }; - 410: components["responses"]["gone"]; - }; - }; - /** - * Get GitHub Actions cache usage for a repository - * @description Gets GitHub Actions cache usage for a repository. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-cache-usage-by-repository"]; - }; - }; - }; - }; - /** - * List GitHub Actions caches for a repository - * @description Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-actions-cache-list": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - ref?: components["parameters"]["actions-cache-git-ref-full"]; - key?: components["parameters"]["actions-cache-key"]; - sort?: components["parameters"]["actions-cache-list-sort"]; - direction?: components["parameters"]["direction"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["actions-cache-list"]; - }; - }; - }; - }; - /** - * Delete GitHub Actions caches for a repository (using a cache key) - * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-actions-cache-by-key": { - parameters: { - query: { - key: components["parameters"]["actions-cache-key-required"]; - ref?: components["parameters"]["actions-cache-git-ref-full"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-cache-list"]; - }; - }; - }; - }; - /** - * Delete a GitHub Actions cache for a repository (using a cache ID) - * @description Deletes a GitHub Actions cache for a repository, using a cache ID. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-actions-cache-by-id": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - cache_id: components["parameters"]["cache-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get a job for a workflow run - * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-job-for-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - job_id: components["parameters"]["job-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["job"]; - }; - }; - }; - }; - /** - * Download job logs for a workflow run - * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. - */ - "actions/download-job-logs-for-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - job_id: components["parameters"]["job-id"]; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Re-run a job from a workflow run - * @description Re-run a job and its dependent jobs in a workflow run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/re-run-job-for-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - job_id: components["parameters"]["job-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get the customization template for an OIDC subject claim for a repository - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. - */ - "actions/get-custom-oidc-sub-claim-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Status response */ - 200: { - content: { - "application/json": components["schemas"]["oidc-custom-sub-repo"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set the customization template for an OIDC subject claim for a repository - * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/set-custom-oidc-sub-claim-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ - use_default: boolean; - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys?: string[]; - }; - }; - }; - responses: { - /** @description Empty response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List repository organization secrets - * @description Lists all organization secrets shared with a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-repo-organization-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - /** - * List repository organization variables - * @description Lists all organiation variables shared with a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-repo-organization-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Get GitHub Actions permissions for a repository - * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/get-github-actions-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-repository-permissions"]; - }; - }; - }; - }; - /** - * Set GitHub Actions permissions for a repository - * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/set-github-actions-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get the level of access for workflows outside of the repository - * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - "actions/get-workflow-access-to-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; - }; - }; - }; - }; - /** - * Set the level of access for workflows outside of the repository - * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - "actions/set-workflow-access-to-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get allowed actions and reusable workflows for a repository - * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/get-allowed-actions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - /** - * Set allowed actions and reusable workflows for a repository - * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/set-allowed-actions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get default workflow permissions for a repository - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, - * as well as if GitHub Actions can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - "actions/get-github-actions-default-workflow-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; - }; - }; - }; - }; - /** - * Set default workflow permissions for a repository - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions - * can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - "actions/set-github-actions-default-workflow-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; - responses: { - /** @description Success response */ - 204: { - content: never; - }; - /** @description Conflict response when changing a setting is prevented by the owning organization */ - 409: { - content: never; - }; - }; - }; - /** - * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-self-hosted-runners-for-repo": { - parameters: { - query?: { - /** @description The name of a self-hosted runner. */ - name?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; - }; - }; - }; - }; - /** - * List runner applications for a repository - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-runner-applications-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner-application"][]; - }; - }; - }; - }; - /** - * Create configuration for a just-in-time runner for a repository - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/generate-runner-jitconfig-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the new runner. */ - name: string; - /** @description The ID of the runner group to register the runner to. */ - runner_group_id: number; - /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ - labels: string[]; - /** - * @description The working directory to be used for job execution, relative to the runner install directory. - * @default _work - */ - work_folder?: string; - }; - }; - }; - responses: { - 201: components["responses"]["actions_runner_jitconfig"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create a registration token for a repository - * @description Returns a token that you can pass to the `config` script. The token - * expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided - * by this endpoint. - * - * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` - */ - "actions/create-registration-token-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Create a remove token for a repository - * @description Returns a token that you can pass to remove a self-hosted runner from - * a repository. The token expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from a repository, replace TOKEN with - * the remove token provided by this endpoint. - * - * ```config.sh remove --token TOKEN``` - */ - "actions/create-remove-token-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Get a self-hosted runner for a repository - * @description Gets a specific self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/get-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner"]; - }; - }; - }; - }; - /** - * Delete a self-hosted runner from a repository - * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/delete-self-hosted-runner-from-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List labels for a self-hosted runner for a repository - * @description Lists all labels for a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-labels-for-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set custom labels for a self-hosted runner for a repository - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/set-custom-labels-for-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ - labels: string[]; - }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Add custom labels to a self-hosted runner for a repository - * @description Add custom labels to a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/add-custom-labels-to-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: string[]; - }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Remove all custom labels from a self-hosted runner for a repository - * @description Remove all custom labels from a self-hosted runner configured in a - * repository. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove a custom label from a self-hosted runner for a repository - * @description Remove a custom label from a self-hosted runner configured - * in a repository. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-custom-label-from-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - name: components["parameters"]["runner-label-name"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-workflow-runs-for-repo": { - parameters: { - query?: { - actor?: components["parameters"]["actor"]; - branch?: components["parameters"]["workflow-run-branch"]; - event?: components["parameters"]["event"]; - status?: components["parameters"]["workflow-run-status"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - created?: components["parameters"]["created"]; - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - head_sha?: components["parameters"]["workflow-run-head-sha"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; - }; - }; - }; - }; - /** - * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-run": { - parameters: { - query?: { - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - /** - * Delete a workflow run - * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. - */ - "actions/delete-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get the review history for a workflow run - * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-reviews-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["environment-approvals"][]; - }; - }; - }; - }; - /** - * Approve a workflow run for a fork pull request - * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/approve-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List workflow run artifacts - * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-workflow-run-artifacts": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - name?: components["parameters"]["artifact-name"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; - }; - }; - }; - }; - /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. - */ - "actions/get-workflow-run-attempt": { - parameters: { - query?: { - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - /** - * List jobs for a workflow run attempt - * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - "actions/list-jobs-for-workflow-run-attempt": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - jobs: components["schemas"]["job"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download workflow run attempt logs - * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/download-workflow-run-attempt-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Cancel a workflow run - * @description Cancels a workflow run using its `id`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/cancel-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 409: components["responses"]["conflict"]; - }; - }; - /** - * Review custom deployment protection rules for a workflow run - * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * **Note:** GitHub Apps can only review their own custom deployment protection rules. - * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). - * - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. - */ - "actions/review-custom-gates-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody: { - content: { - "application/json": - | components["schemas"]["review-custom-gates-comment-required"] - | components["schemas"]["review-custom-gates-state-required"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List jobs for a workflow run - * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - "actions/list-jobs-for-workflow-run": { - parameters: { - query?: { - /** @description Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ - filter?: "latest" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - jobs: components["schemas"]["job"][]; - }; - }; - }; - }; - }; - /** - * Download workflow run logs - * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. - */ - "actions/download-workflow-run-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Delete workflow run logs - * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-workflow-run-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get pending deployments for a workflow run - * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-pending-deployments-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pending-deployment"][]; - }; - }; - }; - }; - /** - * Review pending deployments for a workflow run - * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. - * - * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. - */ - "actions/review-pending-deployments-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The list of environment ids to approve or reject - * @example [ - * 161171787, - * 161171795 - * ] - */ - environment_ids: number[]; - /** - * @description Whether to approve or reject deployment to the specified environments. - * @example approved - * @enum {string} - */ - state: "approved" | "rejected"; - /** - * @description A comment to accompany the deployment review - * @example Ship it! - */ - comment: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment"][]; - }; - }; - }; - }; - /** - * Re-run a workflow - * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/re-run-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Re-run failed jobs from a workflow run - * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. - */ - "actions/re-run-workflow-failed-jobs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get workflow run usage - * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-run-usage": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run-usage"]; - }; - }; - }; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-repo-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-repo-public-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-secret"]; - }; - }; - }; - }; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/create-or-update-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository variables - * @description Lists all repository variables. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-repo-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Create a repository variable - * @description Creates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/create-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get a repository variable - * @description Gets a specific variable in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/get-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-variable"]; - }; - }; - }; - }; - /** - * Delete a repository variable - * @description Deletes a repository variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/delete-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a repository variable - * @description Updates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/update-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: components["parameters"]["variable-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository workflows - * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-repo-workflows": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - workflows: components["schemas"]["workflow"][]; - }; - }; - }; - }; - }; - /** - * Get a workflow - * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow"]; - }; - }; - }; - }; - /** - * Disable a workflow - * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/disable-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Create a workflow dispatch event - * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." - */ - "actions/create-workflow-dispatch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The git reference for the workflow. The reference can be a branch or tag name. */ - ref: string; - /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ - inputs?: { - [key: string]: unknown; - }; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Enable a workflow - * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/enable-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - */ - "actions/list-workflow-runs": { - parameters: { - query?: { - actor?: components["parameters"]["actor"]; - branch?: components["parameters"]["workflow-run-branch"]; - event?: components["parameters"]["event"]; - status?: components["parameters"]["workflow-run-status"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - created?: components["parameters"]["created"]; - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - head_sha?: components["parameters"]["workflow-run-head-sha"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; - }; - }; - }; - }; - /** - * Get workflow usage - * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-usage": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-usage"]; - }; - }; - }; - }; - /** - * List repository activities - * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. - * - * For more information about viewing repository activity, - * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." - */ - "repos/list-activities": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - /** - * @description The Git reference for the activities you want to list. - * - * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. - */ - ref?: string; - /** @description The GitHub username to use to filter by the actor who performed the activity. */ - actor?: string; - /** - * @description The time period to filter by. - * - * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). - */ - time_period?: "day" | "week" | "month" | "quarter" | "year"; - /** - * @description The activity type to filter by. - * - * For example, you can choose to filter by "force_push", to see all force pushes to the repository. - */ - activity_type?: - | "push" - | "force_push" - | "branch_creation" - | "branch_deletion" - | "pr_merge" - | "merge_queue_merge"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["activity"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List assignees - * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. - */ - "issues/list-assignees": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if a user can be assigned - * @description Checks if a user has permission to be assigned to an issue in this repository. - * - * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - "issues/check-user-can-be-assigned": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - assignee: string; - }; - }; - responses: { - /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ - 204: { - content: never; - }; - /** @description Otherwise a `404` status code is returned. */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/list-autolinks": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["autolink"][]; - }; - }; - }; - }; - /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. - */ - "repos/create-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ - key_prefix: string; - /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ - url_template: string; - /** - * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. - * @default true - */ - is_alphanumeric?: boolean; - }; - }; - }; - responses: { - /** @description response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an autolink reference of a repository - * @description This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/get-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - autolink_id: components["parameters"]["autolink-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an autolink reference from a repository - * @description This deletes a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/delete-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - autolink_id: components["parameters"]["autolink-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if automated security fixes are enabled for a repository - * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - "repos/check-automated-security-fixes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response if dependabot is enabled */ - 200: { - content: { - "application/json": components["schemas"]["check-automated-security-fixes"]; - }; - }; - /** @description Not Found if dependabot is not enabled for the repository */ - 404: { - content: never; - }; - }; - }; - /** - * Enable automated security fixes - * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - "repos/enable-automated-security-fixes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Disable automated security fixes - * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - "repos/disable-automated-security-fixes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** List branches */ - "repos/list-branches": { - parameters: { - query?: { - /** @description Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ - protected?: boolean; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["short-branch"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Get a branch */ - "repos/get-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-with-protection"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-protection"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Protecting a branch requires admin or owner permissions to the repository. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - * - * **Note**: The list of users, apps, and teams in total is limited to 100 items. - */ - "repos/update-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Require status checks to pass before merging. Set to `null` to disable. */ - required_status_checks: { - /** @description Require branches to be up to date before merging. */ - strict: boolean; - /** - * @deprecated - * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. - */ - contexts: string[]; - /** @description The list of status checks to require in order to merge into this branch. */ - checks?: { - /** @description The name of the required check */ - context: string; - /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ - app_id?: number; - }[]; - } | null; - /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ - enforce_admins: boolean | null; - /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ - required_pull_request_reviews: { - /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** @description The list of user `login`s with dismissal access */ - users?: string[]; - /** @description The list of team `slug`s with dismissal access */ - teams?: string[]; - /** @description The list of app `slug`s with dismissal access */ - apps?: string[]; - }; - /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ - require_code_owner_reviews?: boolean; - /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. - * @default false - */ - require_last_push_approval?: boolean; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of user `login`s allowed to bypass pull request requirements. */ - users?: string[]; - /** @description The list of team `slug`s allowed to bypass pull request requirements. */ - teams?: string[]; - /** @description The list of app `slug`s allowed to bypass pull request requirements. */ - apps?: string[]; - }; - } | null; - /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ - restrictions: { - /** @description The list of user `login`s with push access */ - users: string[]; - /** @description The list of team `slug`s with push access */ - teams: string[]; - /** @description The list of app `slug`s with push access */ - apps?: string[]; - } | null; - /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ - required_linear_history?: boolean; - /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ - allow_force_pushes?: boolean | null; - /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ - allow_deletions?: boolean; - /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ - block_creations?: boolean; - /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ - required_conversation_resolution?: boolean; - /** - * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. - * @default false - */ - lock_branch?: boolean; - /** - * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. - * @default false - */ - allow_fork_syncing?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Delete branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/delete-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-admin-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - }; - }; - /** - * Set admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - "repos/set-admin-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - }; - }; - /** - * Delete admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - "repos/delete-admin-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-pull-request-review-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; - }; - }; - }; - }; - /** - * Delete pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/delete-pull-request-review-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - */ - "repos/update-pull-request-review-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** @description The list of user `login`s with dismissal access */ - users?: string[]; - /** @description The list of team `slug`s with dismissal access */ - teams?: string[]; - /** @description The list of app `slug`s with dismissal access */ - apps?: string[]; - }; - /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ - require_code_owner_reviews?: boolean; - /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` - * @default false - */ - require_last_push_approval?: boolean; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of user `login`s allowed to bypass pull request requirements. */ - users?: string[]; - /** @description The list of team `slug`s allowed to bypass pull request requirements. */ - teams?: string[]; - /** @description The list of app `slug`s allowed to bypass pull request requirements. */ - apps?: string[]; - }; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. - * - * **Note**: You must enable branch protection to require signed commits. - */ - "repos/get-commit-signature-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. - */ - "repos/create-commit-signature-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. - */ - "repos/delete-commit-signature-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get status checks protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-status-checks-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["status-check-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/remove-status-check-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - */ - "repos/update-status-check-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Require branches to be up to date before merging. */ - strict?: boolean; - /** - * @deprecated - * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. - */ - contexts?: string[]; - /** @description The list of status checks to require in order to merge into this branch. */ - checks?: { - /** @description The name of the required check */ - context: string; - /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ - app_id?: number; - }[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["status-check-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-all-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/set-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the status checks */ - contexts: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/add-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the status checks */ - contexts: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/remove-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the status checks */ - contexts: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists who has access to this protected branch. - * - * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. - */ - "repos/get-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-restriction-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Disables the ability to restrict who can push to this branch. - */ - "repos/delete-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get apps with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/get-apps-with-access-to-protected-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/set-app-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/add-app-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/remove-app-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get teams with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the teams who have push access to this branch. The list includes child teams. - */ - "repos/get-teams-with-access-to-protected-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. - */ - "repos/set-team-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The slug values for teams */ - teams: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified teams push access for this branch. You can also give push access to child teams. - */ - "repos/add-team-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The slug values for teams */ - teams: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a team to push to this branch. You can also remove push access for child teams. - */ - "repos/remove-team-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The slug values for teams */ - teams: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get users with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the people who have push access to this branch. - */ - "repos/get-users-with-access-to-protected-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/set-user-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The username for users */ - users: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified people push access for this branch. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/add-user-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The username for users */ - users: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a user to push to this branch. - * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/remove-user-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The username for users */ - users: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Rename a branch - * @description Renames a branch in a repository. - * - * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". - * - * The permissions required to use this endpoint depends on whether you are renaming the default branch. - * - * To rename a non-default branch: - * - * * Users must have push access. - * * GitHub Apps must have the `contents:write` repository permission. - * - * To rename the default branch: - * - * * Users must have admin or owner permissions. - * * GitHub Apps must have the `administration:write` repository permission. - */ - "repos/rename-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The new name of the branch. */ - new_name: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["branch-with-protection"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. - * - * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. - */ - "checks/create": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the check. For example, "code-coverage". */ - name: string; - /** @description The SHA of the commit. */ - head_sha: string; - /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ - details_url?: string; - /** @description A reference for the run on the integrator's system. */ - external_id?: string; - /** - * @description The current status. - * @default queued - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed"; - /** - * Format: date-time - * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** - * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. - * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. - * @enum {string} - */ - conclusion?: - | "action_required" - | "cancelled" - | "failure" - | "neutral" - | "success" - | "skipped" - | "stale" - | "timed_out"; - /** - * Format: date-time - * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - completed_at?: string; - /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ - output?: { - /** @description The title of the check run. */ - title: string; - /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ - summary: string; - /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ - text?: string; - /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ - annotations?: { - /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ - path: string; - /** @description The start line of the annotation. Line numbers start at 1. */ - start_line: number; - /** @description The end line of the annotation. */ - end_line: number; - /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ - start_column?: number; - /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ - end_column?: number; - /** - * @description The level of the annotation. - * @enum {string} - */ - annotation_level: "notice" | "warning" | "failure"; - /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ - message: string; - /** @description The title that represents the annotation. The maximum size is 255 characters. */ - title?: string; - /** @description Details about this annotation. The maximum size is 64 KB. */ - raw_details?: string; - }[]; - /** @description Adds images to the output displayed in the GitHub pull request UI. */ - images?: { - /** @description The alternative text for the image. */ - alt: string; - /** @description The full URL of the image. */ - image_url: string; - /** @description A short image description. */ - caption?: string; - }[]; - }; - /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/reference/checks#check-runs-and-requested-actions)." */ - actions?: { - /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ - label: string; - /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ - description: string; - /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ - identifier: string; - }[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - /** - * Get a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - /** - * Update a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. - */ - "checks/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the check. For example, "code-coverage". */ - name?: string; - /** @description The URL of the integrator's site that has the full details of the check. */ - details_url?: string; - /** @description A reference for the run on the integrator's system. */ - external_id?: string; - /** - * Format: date-time - * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** - * @description The current status. - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed"; - /** - * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. - * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. - * @enum {string} - */ - conclusion?: - | "action_required" - | "cancelled" - | "failure" - | "neutral" - | "success" - | "skipped" - | "stale" - | "timed_out"; - /** - * Format: date-time - * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - completed_at?: string; - /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ - output?: { - /** @description **Required**. */ - title?: string; - /** @description Can contain Markdown. */ - summary: string; - /** @description Can contain Markdown. */ - text?: string; - /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ - annotations?: { - /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ - path: string; - /** @description The start line of the annotation. Line numbers start at 1. */ - start_line: number; - /** @description The end line of the annotation. */ - end_line: number; - /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ - start_column?: number; - /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ - end_column?: number; - /** - * @description The level of the annotation. - * @enum {string} - */ - annotation_level: "notice" | "warning" | "failure"; - /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ - message: string; - /** @description The title that represents the annotation. The maximum size is 255 characters. */ - title?: string; - /** @description Details about this annotation. The maximum size is 64 KB. */ - raw_details?: string; - }[]; - /** @description Adds images to the output displayed in the GitHub pull request UI. */ - images?: { - /** @description The alternative text for the image. */ - alt: string; - /** @description The full URL of the image. */ - image_url: string; - /** @description A short image description. */ - caption?: string; - }[]; - }; - /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ - actions?: { - /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ - label: string; - /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ - description: string; - /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ - identifier: string; - }[]; - } & ( - | { - /** @enum {unknown} */ - status?: "completed"; - [key: string]: unknown; - } - | { - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - [key: string]: unknown; - } - ); - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - /** - * List check run annotations - * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. - */ - "checks/list-annotations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["check-annotation"][]; - }; - }; - }; - }; - /** - * Rerequest a check run - * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. - * - * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". - */ - "checks/rerequest-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ - 403: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 404: components["responses"]["not_found"]; - /** @description Validation error if the check run is not rerequestable */ - 422: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Create a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. - */ - "checks/create-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The sha of the head commit. */ - head_sha: string; - }; - }; - }; - responses: { - /** @description Response when the suite already exists */ - 200: { - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - /** @description Response when the suite was created */ - 201: { - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - }; - }; - /** - * Update repository preferences for check suites - * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. - */ - "checks/set-suites-preferences": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ - auto_trigger_checks?: { - /** @description The `id` of the GitHub App. */ - app_id: number; - /** - * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. - * @default true - */ - setting: boolean; - }[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-suite-preference"]; - }; - }; - }; - }; - /** - * Get a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - "checks/get-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_suite_id: components["parameters"]["check-suite-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - }; - }; - /** - * List check runs in a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/list-for-suite": { - parameters: { - query?: { - check_name?: components["parameters"]["check-name"]; - status?: components["parameters"]["status"]; - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - filter?: "latest" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_suite_id: components["parameters"]["check-suite-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - check_runs: components["schemas"]["check-run"][]; - }; - }; - }; - }; - }; - /** - * Rerequest a check suite - * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. - */ - "checks/rerequest-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_suite_id: components["parameters"]["check-suite-id"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * List code scanning alerts for a repository - * @description Lists all open code scanning alerts for the default branch (usually `main` - * or `master`). You must use an access token with the `security_events` scope to use - * this endpoint with private repos, the `public_repo` scope also grants permission to read - * security events on public repos only. GitHub Apps must have the `security_events` read - * permission to use this endpoint. - * - * The response includes a `most_recent_instance` object. - * This provides details of the most recent instance of this alert - * for the default branch or for the specified Git reference - * (if you used `ref` in the request). - */ - "code-scanning/list-alerts-for-repo": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - ref?: components["parameters"]["git-ref"]; - direction?: components["parameters"]["direction"]; - /** @description The property by which to sort the results. . `number` is deprecated - we recommend that you use `created` instead. */ - sort?: "created" | "number" | "updated"; - /** @description Set to `open`, `closed, `fixed`, or `dismissed` to list code scanning alerts in a specific state. */ - state?: components["schemas"]["code-scanning-alert-state"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert-items"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a code scanning alert - * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a code scanning alert - * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. - */ - "code-scanning/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - state: components["schemas"]["code-scanning-alert-set-state"]; - dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List instances of a code scanning alert - * @description Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/list-alert-instances": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - ref?: components["parameters"]["git-ref"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert-instance"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List code scanning analyses for a repository - * @description Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - "code-scanning/list-recent-analyses": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - ref?: components["schemas"]["code-scanning-ref"]; - /** @description Filter analyses belonging to the same SARIF upload. */ - sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - direction?: components["parameters"]["direction"]; - /** @description The property by which to sort the results. */ - sort?: "created"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a code scanning analysis for a repository - * @description Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * The default JSON response contains fields that describe the analysis. - * This includes the Git reference and commit SHA to which the analysis relates, - * the datetime of the analysis, the name of the code scanning tool, - * and the number of alerts. - * - * The `rules_count` field in the default response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * If you use the Accept header `application/sarif+json`, - * the response contains the analysis data that was uploaded. - * This is formatted as - * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). - */ - "code-scanning/get-analysis": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - analysis_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis"]; - "application/json+sarif": { - [key: string]: unknown; - }; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Delete a code scanning analysis from a repository - * @description Deletes a specified code scanning analysis from a repository. For - * private repositories, you must use an access token with the `repo` scope. For public repositories, - * you must use an access token with `public_repo` scope. - * GitHub Apps must have the `security_events` write permission to use this endpoint. - * - * You can delete one analysis at a time. - * To delete a series of analyses, start with the most recent analysis and work backwards. - * Conceptually, the process is similar to the undo function in a text editor. - * - * When you list the analyses for a repository, - * one or more will be identified as deletable in the response: - * - * ``` - * "deletable": true - * ``` - * - * An analysis is deletable when it's the most recent in a set of analyses. - * Typically, a repository will have multiple sets of analyses - * for each enabled code scanning tool, - * where a set is determined by a unique combination of analysis values: - * - * * `ref` - * * `tool` - * * `category` - * - * If you attempt to delete an analysis that is not the most recent in a set, - * you'll get a 400 response with the message: - * - * ``` - * Analysis specified is not deletable. - * ``` - * - * The response from a successful `DELETE` operation provides you with - * two alternative URLs for deleting the next analysis in the set: - * `next_analysis_url` and `confirm_delete_url`. - * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis - * in a set. This is a useful option if you want to preserve at least one analysis - * for the specified tool in your repository. - * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. - * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` - * in the 200 response is `null`. - * - * As an example of the deletion process, - * let's imagine that you added a workflow that configured a particular code scanning tool - * to analyze the code in a repository. This tool has added 15 analyses: - * 10 on the default branch, and another 5 on a topic branch. - * You therefore have two separate sets of analyses for this tool. - * You've now decided that you want to remove all of the analyses for the tool. - * To do this you must make 15 separate deletion requests. - * To start, you must find an analysis that's identified as deletable. - * Each set of analyses always has one that's identified as deletable. - * Having found the deletable analysis for one of the two sets, - * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. - * Then repeat the process for the second set. - * The procedure therefore consists of a nested loop: - * - * **Outer loop**: - * * List the analyses for the repository, filtered by tool. - * * Parse this list to find a deletable analysis. If found: - * - * **Inner loop**: - * * Delete the identified analysis. - * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. - * - * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. - */ - "code-scanning/delete-analysis": { - parameters: { - query?: { - /** @description Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ - confirm_delete?: string | null; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - analysis_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis-deletion"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List CodeQL databases for a repository - * @description Lists the CodeQL databases that are available in a repository. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - "code-scanning/list-codeql-databases": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-codeql-database"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a CodeQL database for a repository - * @description Gets a CodeQL database for a language in a repository. - * - * By default this endpoint returns JSON metadata about the CodeQL database. To - * download the CodeQL database binary content, set the `Accept` header of the request - * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure - * your HTTP client is configured to follow redirects or use the `Location` header - * to make a second request to get the redirect URL. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - "code-scanning/get-codeql-database": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The language of the CodeQL database. */ - language: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-codeql-database"]; - }; - }; - 302: components["responses"]["found"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a code scanning default setup configuration - * @description Gets a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - "code-scanning/get-default-setup": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a code scanning default setup configuration - * @description Updates a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - "code-scanning/update-default-setup": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup-update"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["code_scanning_conflict"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Upload an analysis as SARIF data - * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." - * - * There are two places where you can upload code scanning results. - * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." - * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." - * - * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: - * - * ``` - * gzip -c analysis-data.sarif | base64 -w0 - * ``` - *
- * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. - * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." - * - * - * | **SARIF data** | **Maximum values** | **Additional limits** | - * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| - * | Runs per file | 20 | | - * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | - * | Rules per run | 25,000 | | - * | Tool extensions per run | 100 | | - * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | - * | Location per result | 1,000 | Only 100 locations will be included. | - * | Tags per rule | 20 | Only 10 tags will be included. | - * - * - * The `202 Accepted` response includes an `id` value. - * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. - * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." - */ - "code-scanning/upload-sarif": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - ref: components["schemas"]["code-scanning-ref"]; - sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; - /** - * Format: uri - * @description The base directory used in the analysis, as it appears in the SARIF file. - * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. - * @example file:///github/workspace/ - */ - checkout_uri?: string; - /** - * Format: date-time - * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ - tool_name?: string; - /** - * @description Whether the SARIF file will be validated according to the code scanning specifications. - * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. - */ - validate?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; - }; - }; - /** @description Bad Request if the sarif field is invalid */ - 400: { - content: never; - }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - /** @description Payload Too Large if the sarif field is too large */ - 413: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get information about a SARIF upload - * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/get-sarif": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The SARIF ID obtained after uploading. */ - sarif_id: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-sarifs-status"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - /** @description Not Found if the sarif id does not match any upload */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List CODEOWNERS errors - * @description List any syntax errors that are detected in the CODEOWNERS - * file. - * - * For more information about the correct CODEOWNERS syntax, - * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." - */ - "repos/codeowners-errors": { - parameters: { - query?: { - /** @description A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codeowners-errors"]; - }; - }; - /** @description Resource not found */ - 404: { - content: never; - }; - }; - }; - /** - * List codespaces in a repository for the authenticated user - * @description Lists the codespaces associated to a specified repository and the authenticated user. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/list-in-repository-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a codespace in a repository - * @description Creates a codespace owned by the authenticated user in the specified repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/create-with-repo-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - } | null; - }; - }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List devcontainer configurations in a repository for the authenticated user - * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files - * specify launchpoint configurations for codespaces created within the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - "codespaces/list-devcontainers-in-repository-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - devcontainers: { - path: string; - name?: string; - display_name?: string; - }[]; - }; - }; - }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List available machine types for a repository - * @description List the machine types available for a given repository based on its configuration. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. - */ - "codespaces/repo-machines-for-authenticated-user": { - parameters: { - query?: { - /** @description The location to check for available machines. Assigned by IP if not provided. */ - location?: string; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - machines: components["schemas"]["codespace-machine"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get default attributes for a codespace - * @description Gets the default attributes for codespaces created by the user with the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/pre-flight-with-repo-for-authenticated-user": { - parameters: { - query?: { - /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ - ref?: string; - /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ - client_ip?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response when a user is able to create codespaces from the repository. */ - 200: { - content: { - "application/json": { - billable_owner?: components["schemas"]["simple-user"]; - defaults?: { - location: string; - devcontainer_path: string | null; - }; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/list-repo-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["repo-codespaces-secret"][]; - }; - }; - }; - }; - }; - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/get-repo-public-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-public-key"]; - }; - }; - }; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/get-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repo-codespaces-secret"]; - }; - }; - }; - }; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` - * repository permission to use this endpoint. - */ - "codespaces/create-or-update-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository collaborators - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - "repos/list-collaborators": { - parameters: { - query?: { - /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ - affiliation?: "outside" | "direct" | "all"; - /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ - permission?: "pull" | "triage" | "push" | "maintain" | "admin"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["collaborator"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if a user is a repository collaborator - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - "repos/check-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response if user is a collaborator */ - 204: { - content: never; - }; - /** @description Not Found if user is not a collaborator */ - 404: { - content: never; - }; - }; - }; - /** - * Add a repository collaborator - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - * - * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: - * - * ``` - * Cannot assign {member} permission of {role name} - * ``` - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). - * - * **Updating an existing collaborator's permission level** - * - * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. - * - * **Rate limits** - * - * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. - */ - "repos/add-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. - * @default push - */ - permission?: string; - }; - }; - }; - responses: { - /** @description Response when a new invitation is created */ - 201: { - content: { - "application/json": components["schemas"]["repository-invitation"]; - }; - }; - /** - * @description Response when: - * - an existing collaborator is added as a collaborator - * - an organization member is added as an individual collaborator - * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator - */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove a repository collaborator - * @description Removes a collaborator from a repository. - * - * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. - * - * This endpoint also: - * - Cancels any outstanding invitations - * - Unasigns the user from any issues - * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. - * - Unstars the repository - * - Updates access permissions to packages - * - * Removing a user as a collaborator has the following effects on forks: - * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. - * - If the user had their own fork of the repository, the fork will be deleted. - * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. - * - * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. - * - * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. - * - * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". - */ - "repos/remove-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description No Content when collaborator was removed from the repository. */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository - * permissions are `admin`, `write`, `read`, and `none`. - * - * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the - * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the - * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The - * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. - */ - "repos/get-collaborator-permission-level": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description if user has admin permissions */ - 200: { - content: { - "application/json": components["schemas"]["repository-collaborator-permission"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List commit comments for a repository - * @description Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). - * - * Comments are ordered by ascending ID. - */ - "repos/list-commit-comments-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit-comment"][]; - }; - }; - }; - }; - /** Get a commit comment */ - "repos/get-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a commit comment */ - "repos/delete-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Update a commit comment */ - "repos/update-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List reactions for a commit comment - * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - "reactions/list-for-commit-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for a commit comment - * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. - */ - "reactions/create-for-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. - * @enum {string} - */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a commit comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - "reactions/delete-for-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List commits - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/list-commits": { - parameters: { - query?: { - /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ - sha?: string; - /** @description Only commits containing this file path will be returned. */ - path?: string; - /** @description GitHub username or email address to use to filter by commit author. */ - author?: string; - /** @description GitHub username or email address to use to filter by commit committer. */ - committer?: string; - since?: components["parameters"]["since"]; - /** @description Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - until?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List branches for HEAD commit - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. - */ - "repos/list-branches-for-head-commit": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-short"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List commit comments - * @description Use the `:commit_sha` to specify the commit that will have its comments listed. - */ - "repos/list-comments-for-commit": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit-comment"][]; - }; - }; - }; - }; - /** - * Create a commit comment - * @description Create a comment for a commit using its `:commit_sha`. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "repos/create-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; - /** @description Relative path of the file to comment on. */ - path?: string; - /** @description Line index in the diff to comment on. */ - position?: number; - /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ - line?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List pull requests associated with a commit - * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. - * - * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. - */ - "repos/list-pull-requests-associated-with-commit": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"][]; - }; - }; - }; - }; - /** - * Get a commit - * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. - * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. - * - * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. - * - * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/get-commit": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List check runs for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/list-for-ref": { - parameters: { - query?: { - check_name?: components["parameters"]["check-name"]; - status?: components["parameters"]["status"]; - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - filter?: "latest" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - app_id?: number; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - check_runs: components["schemas"]["check-run"][]; - }; - }; - }; - }; - }; - /** - * List check suites for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - "checks/list-suites-for-ref": { - parameters: { - query?: { - /** - * @description Filters check suites by GitHub App `id`. - * @example 1 - */ - app_id?: number; - check_name?: components["parameters"]["check-name"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - check_suites: components["schemas"]["check-suite"][]; - }; - }; - }; - }; - }; - /** - * Get the combined status for a specific reference - * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. - * - * - * Additionally, a combined `state` is returned. The `state` is one of: - * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` - */ - "repos/get-combined-status-for-ref": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-commit-status"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List commit statuses for a reference - * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. - */ - "repos/list-commit-statuses-for-ref": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["status"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - }; - }; - /** - * Get community profile metrics - * @description Returns all community profile metrics for a repository. The repository cannot be a fork. - * - * The returned metrics include an overall health score, the repository description, the presence of documentation, the - * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, - * README, and CONTRIBUTING files. - * - * The `health_percentage` score is defined as a percentage of how many of - * these four documents are present: README, CONTRIBUTING, LICENSE, and - * CODE_OF_CONDUCT. For example, if all four documents are present, then - * the `health_percentage` is `100`. If only one is present, then the - * `health_percentage` is `25`. - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ - "repos/get-community-profile-metrics": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["community-profile"]; - }; - }; - }; - }; - /** - * Compare two commits - * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." - * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: - * - * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. - * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. - * - * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/compare-commits-with-basehead": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ - basehead: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comparison"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. - * - * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for - * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media - * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent - * object format. - * - * **Notes**: - * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). - * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees - * API](https://docs.github.com/rest/git/trees#get-a-tree). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * Size limits: - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * If the content is a directory: - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * If the content is a symlink: - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * If the content is a submodule: - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. - */ - "repos/get-content": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/vnd.github.object": components["schemas"]["content-tree"]; - "application/json": - | components["schemas"]["content-directory"] - | components["schemas"]["content-file"] - | components["schemas"]["content-symlink"] - | components["schemas"]["content-submodule"]; - }; - }; - 302: components["responses"]["found"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create or update file contents - * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope. - * - * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - "repos/create-or-update-file-contents": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message. */ - message: string; - /** @description The new file content, using Base64 encoding. */ - content: string; - /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ - sha?: string; - /** @description The branch name. Default: the repository’s default branch. */ - branch?: string; - /** @description The person that committed the file. Default: the authenticated user. */ - committer?: { - /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - /** @example "2013-01-05T13:13:22+05:00" */ - date?: string; - }; - /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ - author?: { - /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - /** @example "2013-01-15T17:13:22+05:00" */ - date?: string; - }; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a file - * @description Deletes a file in a repository. - * - * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. - * - * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. - * - * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. - * - * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - "repos/delete-file": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message. */ - message: string; - /** @description The blob SHA of the file being deleted. */ - sha: string; - /** @description The branch name. Default: the repository’s default branch */ - branch?: string; - /** @description object containing information about the committer. */ - committer?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - }; - /** @description object containing information about the author. */ - author?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - }; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository contributors - * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. - * - * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. - */ - "repos/list-contributors": { - parameters: { - query?: { - /** @description Set to `1` or `true` to include anonymous contributors in results. */ - anon?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description If repository contains content */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["contributor"][]; - }; - }; - /** @description Response if repository is empty */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List Dependabot alerts for a repository - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - "dependabot/list-alerts-for-repo": { - parameters: { - query?: { - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; - scope?: components["parameters"]["dependabot-alert-scope"]; - sort?: components["parameters"]["dependabot-alert-sort"]; - direction?: components["parameters"]["direction"]; - /** - * @deprecated - * @description **Deprecated**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. - */ - page?: number; - /** - * @deprecated - * @description The number of results per page (max 100). - */ - per_page?: number; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - first?: components["parameters"]["pagination-first"]; - last?: components["parameters"]["pagination-last"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - "dependabot/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["dependabot-alert-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. - * - * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." - */ - "dependabot/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["dependabot-alert-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the Dependabot alert. - * A `dismissed_reason` must be provided when setting the state to `dismissed`. - * @enum {string} - */ - state: "dismissed" | "open"; - /** - * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. - * @enum {string} - */ - dismissed_reason?: - | "fix_started" - | "inaccurate" - | "no_bandwidth" - | "not_used" - | "tolerable_risk"; - /** @description An optional comment associated with dismissing the alert. */ - dismissed_comment?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/list-repo-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["dependabot-secret"][]; - }; - }; - }; - }; - }; - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/get-repo-public-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-public-key"]; - }; - }; - }; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/get-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-secret"]; - }; - }; - }; - }; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository - * permission to use this endpoint. - */ - "dependabot/create-or-update-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get a diff of the dependencies between commits - * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. - */ - "dependency-graph/diff-range": { - parameters: { - query?: { - name?: components["parameters"]["manifest-path"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ - basehead: string; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["dependency-graph-diff"]; - }; - }; - 403: components["responses"]["dependency_review_forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Export a software bill of materials (SBOM) for a repository. - * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. - */ - "dependency-graph/export-sbom": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. - */ - "dependency-graph/create-repository-snapshot": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["snapshot"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": { - /** @description ID of the created snapshot. */ - id: number; - /** @description The time at which the snapshot was created. */ - created_at: string; - /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ - result: string; - /** @description A message providing further details about the result, such as why the dependencies were not updated. */ - message: string; - }; - }; - }; - }; - }; - /** - * List deployments - * @description Simple filtering of deployments is available via query parameters: - */ - "repos/list-deployments": { - parameters: { - query?: { - /** @description The SHA recorded at creation time. */ - sha?: string; - /** @description The name of the ref. This can be a branch, tag, or SHA. */ - ref?: string; - /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ - task?: string; - /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ - environment?: string | null; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deployment"][]; - }; - }; - }; - }; - /** - * Create a deployment - * @description Deployments offer a few configurable parameters with certain defaults. - * - * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them - * before we merge a pull request. - * - * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have - * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter - * makes it easier to track which environments have requested deployments. The default environment is `production`. - * - * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If - * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, - * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will - * return a failure response. - * - * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` - * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to - * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do - * not require any contexts or create any commit statuses, the deployment will always succeed. - * - * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text - * field that will be passed on when a deployment event is dispatched. - * - * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might - * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an - * application with debugging enabled. - * - * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. - * - * Merged branch response: - * - * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating - * a deployment. This auto-merge happens when: - * * Auto-merge option is enabled in the repository - * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example - * * There are no merge conflicts - * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful - * response. - * - * Merge conflict response: - * - * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't - * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. - * - * Failed commit status checks: - * - * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` - * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. - */ - "repos/create-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The ref to deploy. This can be a branch, tag, or SHA. */ - ref: string; - /** - * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). - * @default deploy - */ - task?: string; - /** - * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. - * @default true - */ - auto_merge?: boolean; - /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ - required_contexts?: string[]; - payload?: OneOf< - [ - { - [key: string]: unknown; - }, - string, - ] - >; - /** - * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). - * @default production - */ - environment?: string; - /** - * @description Short description of the deployment. - * @default - */ - description?: string | null; - /** - * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` - * @default false - */ - transient_environment?: boolean; - /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ - production_environment?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["deployment"]; - }; - }; - /** @description Merged branch response */ - 202: { - content: { - "application/json": { - message?: string; - }; - }; - }; - /** @description Conflict when there is a merge conflict or the commit's status checks failed */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Get a deployment */ - "repos/get-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a deployment - * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. - * - * To set a deployment as inactive, you must: - * - * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. - * * Mark the active deployment as inactive by adding any non-successful deployment status. - * - * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." - */ - "repos/delete-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List deployment statuses - * @description Users with pull access can view deployment statuses for a deployment: - */ - "repos/list-deployment-statuses": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deployment-status"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a deployment status - * @description Users with `push` access can create deployment statuses for a given deployment. - * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. - */ - "repos/create-deployment-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. - * @enum {string} - */ - state: - | "error" - | "failure" - | "inactive" - | "in_progress" - | "queued" - | "pending" - | "success"; - /** - * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. - * @default - */ - target_url?: string; - /** - * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` - * @default - */ - log_url?: string; - /** - * @description A short description of the status. The maximum description length is 140 characters. - * @default - */ - description?: string; - /** @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ - environment?: string; - /** - * @description Sets the URL for accessing your environment. Default: `""` - * @default - */ - environment_url?: string; - /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ - auto_inactive?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["deployment-status"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a deployment status - * @description Users with pull access can view a deployment status for a deployment: - */ - "repos/get-deployment-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - status_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-status"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a repository dispatch event - * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." - * - * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. - * - * This endpoint requires write access to the repository by providing either: - * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. - * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. - * - * This input example shows how you can use the `client_payload` as a test to debug your workflow. - */ - "repos/create-dispatch-event": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A custom webhook event name. Must be 100 characters or fewer. */ - event_type: string; - /** @description JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. */ - client_payload?: { - [key: string]: unknown; - }; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List environments - * @description Lists the environments for a repository. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/get-all-environments": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - /** - * @description The number of environments in this repository - * @example 5 - */ - total_count?: number; - environments?: components["schemas"]["environment"][]; - }; - }; - }; - }; - }; - /** - * Get an environment - * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." - * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/get-environment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["environment"]; - }; - }; - }; - }; - /** - * Create or update an environment - * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." - * - * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." - * - * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/create-or-update-environment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - requestBody?: { - content: { - "application/json": { - wait_timer?: components["schemas"]["wait-timer"]; - /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers?: - | { - type?: components["schemas"]["deployment-reviewer-type"]; - /** - * @description The id of the user or team who can review the deployment - * @example 4532992 - */ - id?: number; - }[] - | null; - deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; - } | null; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["environment"]; - }; - }; - /** @description Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ - 422: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Delete an environment - * @description You must authenticate using an access token with the repo scope to use this endpoint. - */ - "repos/delete-an-environment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Default response */ - 204: { - content: never; - }; - }; - }; - /** - * List deployment branch policies - * @description Lists the deployment branch policies for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/list-deployment-branch-policies": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - /** - * @description The number of deployment branch policies for the environment. - * @example 2 - */ - total_count: number; - branch_policies: components["schemas"]["deployment-branch-policy"][]; - }; - }; - }; - }; - }; - /** - * Create a deployment branch policy - * @description Creates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/create-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - /** @description Response if the same branch name pattern already exists */ - 303: { - content: never; - }; - /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ - 404: { - content: never; - }; - }; - }; - /** - * Get a deployment branch policy - * @description Gets a deployment branch policy for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/get-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - }; - }; - /** - * Update a deployment branch policy - * @description Updates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/update-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - }; - }; - /** - * Delete a deployment branch policy - * @description Deletes a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/delete-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get all deployment protection rules for an environment - * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - "repos/get-all-deployment-protection-rules": { - parameters: { - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - }; - }; - responses: { - /** @description List of deployment protection rules */ - 200: { - content: { - "application/json": { - /** - * @description The number of enabled custom deployment protection rules for this environment - * @example 10 - */ - total_count?: number; - custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; - }; - }; - }; - }; - }; - /** - * Create a custom deployment protection rule on an environment - * @description Enable a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - "repos/create-deployment-protection-rule": { - parameters: { - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The ID of the custom app that will be enabled on the environment. */ - integration_id?: number; - }; - }; - }; - responses: { - /** @description The enabled custom deployment protection rule */ - 201: { - content: { - "application/json": components["schemas"]["deployment-protection-rule"]; - }; - }; - }; - }; - /** - * List custom deployment rule integrations available for an environment - * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. - * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - "repos/list-custom-deployment-rule-integrations": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - }; - }; - responses: { - /** @description A list of custom deployment rule integrations available for this environment. */ - 200: { - content: { - "application/json": { - /** - * @description The total number of custom deployment protection rule integrations available for this environment. - * @example 35 - */ - total_count?: number; - available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; - }; - }; - }; - }; - }; - /** - * Get a custom deployment protection rule - * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). - */ - "repos/get-custom-deployment-protection-rule": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - protection_rule_id: components["parameters"]["protection-rule-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-protection-rule"]; - }; - }; - }; - }; - /** - * Disable a custom protection rule for an environment - * @description Disables a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - "repos/disable-deployment-protection-rule": { - parameters: { - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - protection_rule_id: components["parameters"]["protection-rule-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository events - * @description **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - "activity/list-repo-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** List forks */ - "repos/list-forks": { - parameters: { - query?: { - /** @description The sort order. `stargazers` will sort by star count. */ - sort?: "newest" | "oldest" | "stargazers" | "watchers"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 400: components["responses"]["bad_request"]; - }; - }; - /** - * Create a fork - * @description Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * - * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. - */ - "repos/create-fork": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Optional parameter to specify the organization name if forking into an organization. */ - organization?: string; - /** @description When forking from an existing repository, a new name for the fork. */ - name?: string; - /** @description When forking from an existing repository, fork with only the default branch. */ - default_branch_only?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Create a blob */ - "git/create-blob": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The new blob's content. */ - content: string; - /** - * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. - * @default utf-8 - */ - encoding?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["short-blob"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a blob - * @description The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. - */ - "git/get-blob": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - file_sha: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["blob"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a commit - * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/create-commit": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message */ - message: string; - /** @description The SHA of the tree object this commit points to */ - tree: string; - /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ - parents?: string[]; - /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ - author?: { - /** @description The name of the author (or committer) of the commit */ - name: string; - /** @description The email of the author (or committer) of the commit */ - email: string; - /** - * Format: date-time - * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; - /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ - committer?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - /** - * Format: date-time - * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; - /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ - signature?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a commit object - * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/get-commit": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List matching references - * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. - * - * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. - */ - "git/list-matching-refs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["git-ref"][]; - }; - }; - }; - }; - /** - * Get a reference - * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - */ - "git/get-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a reference - * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. - */ - "git/create-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ - ref: string; - /** @description The SHA1 value for this reference. */ - sha: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Delete a reference */ - "git/delete-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Update a reference */ - "git/update-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** - * @description The name of the reference to update (for example, `heads/featureA`). Can be a branch name (`heads/BRANCH_NAME`) or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. - * @example heads/featureA - */ - ref: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SHA1 value to set this reference to */ - sha: string; - /** - * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. - * @default false - */ - force?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a tag object - * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/create-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ - tag: string; - /** @description The tag message. */ - message: string; - /** @description The SHA of the git object this is tagging. */ - object: string; - /** - * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. - * @enum {string} - */ - type: "commit" | "tree" | "blob"; - /** @description An object with information about the individual creating the tag. */ - tagger?: { - /** @description The name of the author of the tag */ - name: string; - /** @description The email of the author of the tag */ - email: string; - /** - * Format: date-time - * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-tag"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a tag - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/get-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - tag_sha: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-tag"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a tree - * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. - * - * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." - * - * Returns an error if you try to delete a file that does not exist. - */ - "git/create-tree": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ - tree: { - /** @description The file referenced in the tree. */ - path?: string; - /** - * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. - * @enum {string} - */ - mode?: "100644" | "100755" | "040000" | "160000" | "120000"; - /** - * @description Either `blob`, `tree`, or `commit`. - * @enum {string} - */ - type?: "blob" | "tree" | "commit"; - /** - * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - sha?: string | null; - /** - * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - content?: string; - }[]; - /** - * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. - * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. - */ - base_tree?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-tree"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a tree - * @description Returns a single tree using the SHA1 value or ref name for that tree. - * - * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. - * - * - * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. - */ - "git/get-tree": { - parameters: { - query?: { - /** @description Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ - recursive?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The SHA1 value or ref (branch or tag) name of the tree. */ - tree_sha: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-tree"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List repository webhooks - * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. - */ - "repos/list-webhooks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["hook"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a repository webhook - * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can - * share the same `config` as long as those webhooks do not have any `events` that overlap. - */ - "repos/create-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ - name?: string; - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - /** @example "abc" */ - token?: string; - /** @example "sha256" */ - digest?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository webhook - * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." - */ - "repos/get-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a repository webhook */ - "repos/delete-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a repository webhook - * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." - */ - "repos/update-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - /** @example "bar@example.com" */ - address?: string; - /** @example "The Serious Room" */ - room?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ - add_events?: string[]; - /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ - remove_events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a webhook configuration for a repository - * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." - * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. - */ - "repos/get-webhook-config-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * Update a webhook configuration for a repository - * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." - * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. - */ - "repos/update-webhook-config-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * List deliveries for a repository webhook - * @description Returns a list of webhook deliveries for a webhook configured in a repository. - */ - "repos/list-webhook-deliveries": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - cursor?: components["parameters"]["cursor"]; - redelivery?: boolean; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a delivery for a repository webhook - * @description Returns a delivery for a webhook configured in a repository. - */ - "repos/get-webhook-delivery": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Redeliver a delivery for a repository webhook - * @description Redeliver a webhook delivery for a webhook configured in a repository. - */ - "repos/redeliver-webhook-delivery": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Ping a repository webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - "repos/ping-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Test the push repository webhook - * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. - * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` - */ - "repos/test-push-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get an import status - * @description View the progress of an import. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - * - * **Import status** - * - * This section includes details about the possible values of the `status` field of the Import Progress response. - * - * An import that does not have errors will progress through these steps: - * - * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. - * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). - * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. - * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". - * * `complete` - the import is complete, and the repository is ready on GitHub. - * - * If there are problems, you will see one of these in the `status` field: - * - * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. - * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. - * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * - * **The project_choices field** - * - * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. - * - * **Git LFS related fields** - * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. - * - * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. - * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. - * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. - * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. - */ - "migrations/get-import-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Start an import - * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/start-import": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The URL of the originating repository. */ - vcs_url: string; - /** - * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. - * @enum {string} - */ - vcs?: "subversion" | "git" | "mercurial" | "tfvc"; - /** @description If authentication is required, the username to provide to `vcs_url`. */ - vcs_username?: string; - /** @description If authentication is required, the password to provide to `vcs_url`. */ - vcs_password?: string; - /** @description For a tfvc import, the name of the project that is being imported. */ - tfvc_project?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/spraints/socm/import */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Cancel an import - * @description Stop an import for a repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/cancel-import": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Update an import - * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API - * request. If no parameters are provided, the import will be restarted. - * - * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will - * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. - * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/update-import": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The username to provide to the originating repository. */ - vcs_username?: string; - /** @description The password to provide to the originating repository. */ - vcs_password?: string; - /** - * @description The type of version control system you are migrating from. - * @example "git" - * @enum {string} - */ - vcs?: "subversion" | "tfvc" | "git" | "mercurial"; - /** - * @description For a tfvc import, the name of the project that is being imported. - * @example "project1" - */ - tfvc_project?: string; - } | null; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Get commit authors - * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. - * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/get-commit-authors": { - parameters: { - query?: { - since?: components["parameters"]["since-user"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["porter-author"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Map a commit author - * @description Update an author's identity for the import. Your application can continue updating authors any time before you push - * new commits to the repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/map-commit-author": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - author_id: number; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The new Git author email. */ - email?: string; - /** @description The new Git author name. */ - name?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["porter-author"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Get large files - * @description List files larger than 100MB found during the import - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/get-large-files": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["porter-large-file"][]; - }; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Update Git LFS preference - * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability - * is powered by [Git LFS](https://git-lfs.com). - * - * You can learn more about our LFS feature and working with large files [on our help - * site](https://docs.github.com/repositories/working-with-files/managing-large-files). - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/set-lfs-preference": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. - * @enum {string} - */ - use_lfs: "opt_in" | "opt_out"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Get a repository installation for the authenticated app - * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-repo-installation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get interaction restrictions for a repository - * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. - */ - "interactions/get-restrictions-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": - | components["schemas"]["interaction-limit-response"] - | Record; - }; - }; - }; - }; - /** - * Set interaction restrictions for a repository - * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - "interactions/set-restrictions-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - /** @description Response */ - 409: { - content: never; - }; - }; - }; - /** - * Remove interaction restrictions for a repository - * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - "interactions/remove-restrictions-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response */ - 409: { - content: never; - }; - }; - }; - /** - * List repository invitations - * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. - */ - "repos/list-invitations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["repository-invitation"][]; - }; - }; - }; - }; - /** Delete a repository invitation */ - "repos/delete-invitation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** Update a repository invitation */ - "repos/update-invitation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. - * @enum {string} - */ - permissions?: "read" | "write" | "maintain" | "triage" | "admin"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-invitation"]; - }; - }; - }; - }; - /** - * List repository issues - * @description List issues in a repository. Only open issues will be listed. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-repo": { - parameters: { - query?: { - /** @description If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ - milestone?: string; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - /** @description Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ - assignee?: string; - /** @description The user that created the issue. */ - creator?: string; - /** @description A user that's mentioned in the issue. */ - mentioned?: string; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create an issue - * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "issues/create": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the issue. */ - title: string | number; - /** @description The contents of the issue. */ - body?: string; - /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ - assignee?: string | null; - milestone?: string | number | null; - /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ - labels?: OneOf< - [ - string, - { - id?: number; - name?: string; - description?: string | null; - color?: string | null; - }, - ] - >[]; - /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ - assignees?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List issue comments for a repository - * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. - * - * By default, issue comments are ordered by ascending ID. - */ - "issues/list-comments-for-repo": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an issue comment - * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - "issues/get-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an issue comment - * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - "issues/delete-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an issue comment - * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - "issues/update-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List reactions for an issue comment - * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - "reactions/list-for-issue-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for an issue comment - * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. - */ - "reactions/create-for-issue-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. - * @enum {string} - */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an issue comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - "reactions/delete-for-issue-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List issue events for a repository - * @description Lists events for a repository. - */ - "issues/list-events-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-event"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an issue event - * @description Gets a single event by the event id. - */ - "issues/get-event": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - event_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-event"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If - * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API - * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read - * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe - * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Update an issue - * @description Issue owners and users with push access can edit an issue. - */ - "issues/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the issue. */ - title?: string | number | null; - /** @description The contents of the issue. */ - body?: string | null; - /** @description Username to assign to this issue. **This field is deprecated.** */ - assignee?: string | null; - /** - * @description The open or closed state of the issue. - * @enum {string} - */ - state?: "open" | "closed"; - /** - * @description The reason for the state change. Ignored unless `state` is changed. - * @example not_planned - * @enum {string|null} - */ - state_reason?: "completed" | "not_planned" | "reopened" | null; - milestone?: string | number | null; - /** @description Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ - labels?: OneOf< - [ - string, - { - id?: number; - name?: string; - description?: string | null; - color?: string | null; - }, - ] - >[]; - /** @description Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ - assignees?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Add assignees to an issue - * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. - */ - "issues/add-assignees": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ - assignees?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - }; - }; - /** - * Remove assignees from an issue - * @description Removes one or more assignees from an issue. - */ - "issues/remove-assignees": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ - assignees: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - }; - }; - /** - * Check if a user can be assigned to a issue - * @description Checks if a user has permission to be assigned to a specific issue. - * - * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - "issues/check-user-can-be-assigned-to-issue": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - assignee: string; - }; - }; - responses: { - /** @description Response if `assignee` can be assigned to `issue_number` */ - 204: { - content: never; - }; - /** @description Response if `assignee` can not be assigned to `issue_number` */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * List issue comments - * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * Issue comments are ordered by ascending ID. - */ - "issues/list-comments": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Create an issue comment - * @description - * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - * Creating content too quickly using this endpoint may result in secondary rate limiting. - * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" - * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" - * for details. - */ - "issues/create-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List issue events - * @description Lists all events for an issue. - */ - "issues/list-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-event-for-issue"][]; - }; - }; - 410: components["responses"]["gone"]; - }; - }; - /** - * List labels for an issue - * @description Lists all labels for an issue. - */ - "issues/list-labels-on-issue": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Set labels for an issue - * @description Removes any previous labels and sets the new labels for an issue. - */ - "issues/set-labels": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf< - [ - { - /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue)." */ - labels?: string[]; - }, - { - labels?: { - name: string; - }[]; - }, - ] - >; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add labels to an issue - * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. - */ - "issues/add-labels": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf< - [ - { - /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue)." */ - labels?: string[]; - }, - { - labels?: { - name: string; - }[]; - }, - ] - >; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove all labels from an issue - * @description Removes all labels from an issue. - */ - "issues/remove-all-labels": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Remove a label from an issue - * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. - */ - "issues/remove-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - name: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Lock an issue - * @description Users with push access can lock an issue or pull request's conversation. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "issues/lock": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: - * * `off-topic` - * * `too heated` - * * `resolved` - * * `spam` - * @enum {string} - */ - lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; - } | null; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Unlock an issue - * @description Users with push access can unlock an issue's conversation. - */ - "issues/unlock": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - "reactions/list-for-issue": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Create reaction for an issue - * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. - */ - "reactions/create-for-issue": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. - * @enum {string} - */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an issue reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. - * - * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - "reactions/delete-for-issue": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List timeline events for an issue - * @description List all timeline events for an issue. - */ - "issues/list-events-for-timeline": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["timeline-issue-events"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** List deploy keys */ - "repos/list-deploy-keys": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deploy-key"][]; - }; - }; - }; - }; - /** - * Create a deploy key - * @description You can create a read-only deploy key. - */ - "repos/create-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A name for the key. */ - title?: string; - /** @description The contents of the key. */ - key: string; - /** - * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. - * - * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." - */ - read_only?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["deploy-key"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Get a deploy key */ - "repos/get-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - key_id: components["parameters"]["key-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deploy-key"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a deploy key - * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. - */ - "repos/delete-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - key_id: components["parameters"]["key-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List labels for a repository - * @description Lists all labels for a repository. - */ - "issues/list-labels-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a label - * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). - */ - "issues/create-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ - name: string; - /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** @description A short description of the label. Must be 100 characters or fewer. */ - description?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["label"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a label - * @description Gets a label using the given name. - */ - "issues/get-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a label - * @description Deletes a label using the given label name. - */ - "issues/delete-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a label - * @description Updates a label using the given label name. - */ - "issues/update-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ - new_name?: string; - /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** @description A short description of the label. Must be 100 characters or fewer. */ - description?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"]; - }; - }; - }; - }; - /** - * List repository languages - * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. - */ - "repos/list-languages": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["language"]; - }; - }; - }; - }; - /** - * Get the license for a repository - * @description This method returns the contents of the repository's license file, if one is detected. - * - * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. - */ - "licenses/get-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license-content"]; - }; - }; - }; - }; - /** - * Sync a fork branch with the upstream repository - * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. - */ - "repos/merge-upstream": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the branch which should be updated to match upstream. */ - branch: string; - }; - }; - }; - responses: { - /** @description The branch has been successfully synced with the upstream repository */ - 200: { - content: { - "application/json": components["schemas"]["merged-upstream"]; - }; - }; - /** @description The branch could not be synced because of a merge conflict */ - 409: { - content: never; - }; - /** @description The branch could not be synced for some other reason */ - 422: { - content: never; - }; - }; - }; - /** Merge a branch */ - "repos/merge": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the base branch that the head will be merged into. */ - base: string; - /** @description The head to merge. This can be a branch name or a commit SHA1. */ - head: string; - /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ - commit_message?: string; - }; - }; - }; - responses: { - /** @description Successful Response (The resulting merge commit) */ - 201: { - content: { - "application/json": components["schemas"]["commit"]; - }; - }; - /** @description Response when already merged */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found when the base or head does not exist */ - 404: { - content: never; - }; - /** @description Conflict when there is a merge conflict */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List milestones - * @description Lists milestones for a repository. - */ - "issues/list-milestones": { - parameters: { - query?: { - /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ - state?: "open" | "closed" | "all"; - /** @description What to sort results by. Either `due_on` or `completeness`. */ - sort?: "due_on" | "completeness"; - /** @description The direction of the sort. Either `asc` or `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["milestone"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a milestone - * @description Creates a milestone. - */ - "issues/create-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the milestone. */ - title: string; - /** - * @description The state of the milestone. Either `open` or `closed`. - * @default open - * @enum {string} - */ - state?: "open" | "closed"; - /** @description A description of the milestone. */ - description?: string; - /** - * Format: date-time - * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - due_on?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a milestone - * @description Gets a milestone using the given milestone number. - */ - "issues/get-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a milestone - * @description Deletes a milestone using the given milestone number. - */ - "issues/delete-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Update a milestone */ - "issues/update-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the milestone. */ - title?: string; - /** - * @description The state of the milestone. Either `open` or `closed`. - * @default open - * @enum {string} - */ - state?: "open" | "closed"; - /** @description A description of the milestone. */ - description?: string; - /** - * Format: date-time - * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - due_on?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - }; - }; - /** - * List labels for issues in a milestone - * @description Lists labels for issues in a milestone. - */ - "issues/list-labels-for-milestone": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - }; - }; - /** - * List repository notifications for the authenticated user - * @description Lists all notifications for the current user in the specified repository. - */ - "activity/list-repo-notifications-for-authenticated-user": { - parameters: { - query?: { - all?: components["parameters"]["all"]; - participating?: components["parameters"]["participating"]; - since?: components["parameters"]["since"]; - before?: components["parameters"]["before"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["thread"][]; - }; - }; - }; - }; - /** - * Mark repository notifications as read - * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - "activity/mark-repo-notifications-as-read": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * Format: date-time - * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. - */ - last_read_at?: string; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - url?: string; - }; - }; - }; - /** @description Reset Content */ - 205: { - content: never; - }; - }; - }; - /** - * Get a GitHub Pages site - * @description Gets information about a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/get-pages": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update information about a GitHub Pages site - * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - "repos/update-information-about-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ - cname?: string | null; - /** @description Specify whether HTTPS should be enforced for the repository. */ - https_enforced?: boolean; - /** - * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - source?: - | ("gh-pages" | "master" | "master /docs") - | { - /** @description The repository branch used to publish your site's source files. */ - branch: string; - /** - * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. - * @enum {string} - */ - path: "/" | "/docs"; - }; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 400: components["responses"]["bad_request"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a GitHub Pages site - * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - "repos/create-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - /** @description The source branch and directory used to publish your Pages site. */ - source?: { - /** @description The repository branch used to publish your site's source files. */ - branch: string; - /** - * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` - * @default / - * @enum {string} - */ - path?: "/" | "/docs"; - }; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["page"]; - }; - }; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a GitHub Pages site - * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - "repos/delete-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List GitHub Pages builds - * @description Lists builts of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/list-pages-builds": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["page-build"][]; - }; - }; - }; - }; - /** - * Request a GitHub Pages build - * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. - * - * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. - */ - "repos/request-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["page-build-status"]; - }; - }; - }; - }; - /** - * Get latest Pages build - * @description Gets information about the single most recent build of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/get-latest-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page-build"]; - }; - }; - }; - }; - /** - * Get GitHub Pages build - * @description Gets information about a GitHub Pages build. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/get-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - build_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page-build"]; - }; - }; - }; - }; - /** - * Create a GitHub Pages deployment - * @description Create a GitHub Pages deployment for a repository. - * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. - */ - "repos/create-pages-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. */ - artifact_url: string; - /** - * @description The target environment for this GitHub Pages deployment. - * @default github-pages - */ - environment?: string; - /** - * @description A unique string that represents the version of the build for this deployment. - * @default GITHUB_SHA - */ - pages_build_version: string; - /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ - oidc_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page-deployment"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a DNS health check for GitHub Pages - * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. - * - * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. - */ - "repos/get-pages-health-check": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pages-health-check"]; - }; - }; - /** @description Empty response */ - 202: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Custom domains are not available for GitHub Pages */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description There isn't a CNAME for this page */ - 422: { - content: never; - }; - }; - }; - /** - * Enable private vulnerability reporting for a repository - * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." - */ - "repos/enable-private-vulnerability-reporting": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 422: components["responses"]["bad_request"]; - }; - }; - /** - * Disable private vulnerability reporting for a repository - * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". - */ - "repos/disable-private-vulnerability-reporting": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 422: components["responses"]["bad_request"]; - }; - }; - /** - * List repository projects - * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/list-for-repo": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create a repository project - * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/create-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List pull requests - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "pulls/list": { - parameters: { - query?: { - /** @description Either `open`, `closed`, or `all` to filter by state. */ - state?: "open" | "closed" | "all"; - /** @description Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ - head?: string; - /** @description Filter pulls by base branch name. Example: `gh-pages`. */ - base?: string; - /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ - sort?: "created" | "updated" | "popularity" | "long-running"; - /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - "pulls/create": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the new pull request. Required unless `issue` is specified. */ - title?: string; - /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ - head: string; - /** - * Format: repo.nwo - * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. - * @example octo-org/octo-repo - */ - head_repo?: string; - /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ - base: string; - /** @description The contents of the pull request. */ - body?: string; - /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; - /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ - draft?: boolean; - /** - * Format: int64 - * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. - * @example 1 - */ - issue?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List review comments in a repository - * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. - */ - "pulls/list-review-comments-for-repo": { - parameters: { - query?: { - sort?: "created" | "updated" | "created_at"; - /** @description The direction to sort results. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; - }; - }; - }; - }; - /** - * Get a review comment for a pull request - * @description Provides details for a review comment. - */ - "pulls/get-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a review comment for a pull request - * @description Deletes a review comment. - */ - "pulls/delete-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a review comment for a pull request - * @description Enables you to edit a review comment. - */ - "pulls/update-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The text of the reply to the review comment. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - }; - }; - /** - * List reactions for a pull request review comment - * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - "reactions/list-for-pull-request-review-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for a pull request review comment - * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. - */ - "reactions/create-for-pull-request-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. - * @enum {string} - */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a pull request comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` - * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - "reactions/delete-for-pull-request-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists details of a pull request by providing its number. - * - * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. - * - * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: - * - * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. - * - * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - */ - "pulls/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ - 200: { - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - */ - "pulls/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the pull request. */ - title?: string; - /** @description The contents of the pull request. */ - body?: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state?: "open" | "closed"; - /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ - base?: string; - /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a codespace from a pull request - * @description Creates a codespace owned by the authenticated user for the specified pull request. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/create-with-pr-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - } | null; - }; - }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List review comments on a pull request - * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. - */ - "pulls/list-review-comments": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description The direction to sort results. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; - }; - }; - }; - }; - /** - * Create a review comment for a pull request - * @description - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. - * - * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. - * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/create-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The text of the review comment. */ - body: string; - /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ - commit_id: string; - /** @description The relative path to the file that necessitates a comment. */ - path: string; - /** - * @deprecated - * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. - */ - position?: number; - /** - * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** @description **Required unless using `subject_type:file`**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ - line?: number; - /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ - start_line?: number; - /** - * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. - * @enum {string} - */ - start_side?: "LEFT" | "RIGHT" | "side"; - /** - * @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. - * @example 2 - */ - in_reply_to?: number; - /** - * @description The level at which the comment is targeted. - * @enum {string} - */ - subject_type?: "line" | "file"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a reply for a review comment - * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/create-reply-for-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The text of the review comment. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List commits on a pull request - * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. - */ - "pulls/list-commits": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit"][]; - }; - }; - }; - }; - /** - * List pull requests files - * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. - */ - "pulls/list-files": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["diff-entry"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Check if a pull request has been merged - * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. - */ - "pulls/check-if-merged": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response if pull request has been merged */ - 204: { - content: never; - }; - /** @description Not Found if pull request has not been merged */ - 404: { - content: never; - }; - }; - }; - /** - * Merge a pull request - * @description Merges a pull request into the base branch. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/merge": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Title for the automatic commit message. */ - commit_title?: string; - /** @description Extra detail to append to automatic commit message. */ - commit_message?: string; - /** @description SHA that pull request head must match to allow merge. */ - sha?: string; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method?: "merge" | "squash" | "rebase"; - } | null; - }; - }; - responses: { - /** @description if merge was successful */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-merge-result"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Method Not Allowed if merge cannot be performed */ - 405: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Conflict if sha was provided and pull request head did not match */ - 409: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all requested reviewers for a pull request - * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. - */ - "pulls/list-requested-reviewers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review-request"]; - }; - }; - }; - }; - /** - * Request reviewers for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/request-reviewers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description An array of user `login`s that will be requested. */ - reviewers?: string[]; - /** @description An array of team `slug`s that will be requested. */ - team_reviewers?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["pull-request-simple"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** @description Unprocessable Entity if user is not a collaborator */ - 422: { - content: never; - }; - }; - }; - /** - * Remove requested reviewers from a pull request - * @description Removes review requests from a pull request for a given set of users and/or teams. - */ - "pulls/remove-requested-reviewers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of user `login`s that will be removed. */ - reviewers: string[]; - /** @description An array of team `slug`s that will be removed. */ - team_reviewers?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-simple"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List reviews for a pull request - * @description The list of reviews returns in chronological order. - */ - "pulls/list-reviews": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description The list of reviews returns in chronological order. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review"][]; - }; - }; - }; - }; - /** - * Create a review for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." - * - * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. - * - * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - */ - "pulls/create-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ - commit_id?: string; - /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ - body?: string; - /** - * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) when you are ready. - * @enum {string} - */ - event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; - /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ - comments?: { - /** @description The relative path to the file that necessitates a review comment. */ - path: string; - /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ - position?: number; - /** @description Text of the review comment. */ - body: string; - /** @example 28 */ - line?: number; - /** @example RIGHT */ - side?: string; - /** @example 26 */ - start_line?: number; - /** @example LEFT */ - start_side?: string; - }[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a review for a pull request - * @description Retrieves a pull request review by its ID. - */ - "pulls/get-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a review for a pull request - * @description Update the review summary comment with new text. - */ - "pulls/update-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The body text of the pull request review. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Delete a pending review for a pull request - * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. - */ - "pulls/delete-pending-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List comments for a pull request review - * @description List comments for a specific pull request review. - */ - "pulls/list-comments-for-review": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["review-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Dismiss a review for a pull request - * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. - */ - "pulls/dismiss-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The message for the pull request review dismissal */ - message: string; - /** - * @example "DISMISS" - * @enum {string} - */ - event?: "DISMISS"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Submit a review for a pull request - * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - */ - "pulls/submit-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The body text of the pull request review */ - body?: string; - /** - * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. - * @enum {string} - */ - event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Update a pull request branch - * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. - */ - "pulls/update-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/commits/commits#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ - expected_head_sha?: string; - } | null; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - url?: string; - }; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository README - * @description Gets the preferred README for a repository. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - "repos/get-readme": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["content-file"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository README for a directory - * @description Gets the README from a repository directory. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - "repos/get-readme-in-directory": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The alternate path to look for a README file */ - dir: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["content-file"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List releases - * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - "repos/list-releases": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["release"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a release - * @description Users with push access to the repository can create a release. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "repos/create-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** - * @description `true` to create a draft (unpublished) release, `false` to create a published one. - * @default false - */ - draft?: boolean; - /** - * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. - * @default false - */ - prerelease?: boolean; - /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ - discussion_category_name?: string; - /** - * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. - * @default false - */ - generate_release_notes?: boolean; - /** - * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a release asset - * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. - */ - "repos/get-release-asset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - asset_id: components["parameters"]["asset-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - 302: components["responses"]["found"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a release asset */ - "repos/delete-release-asset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - asset_id: components["parameters"]["asset-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a release asset - * @description Users with push access to the repository can edit a release asset. - */ - "repos/update-release-asset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - asset_id: components["parameters"]["asset-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The file name of the asset. */ - name?: string; - /** @description An alternate short description of the asset. Used in place of the filename. */ - label?: string; - /** @example "uploaded" */ - state?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - }; - }; - /** - * Generate release notes content for a release - * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. - */ - "repos/generate-release-notes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The tag name for the release. This can be an existing tag or a new one. */ - tag_name: string; - /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ - target_commitish?: string; - /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ - previous_tag_name?: string; - /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ - configuration_file_path?: string; - }; - }; - }; - responses: { - /** @description Name and body of generated release notes */ - 200: { - content: { - "application/json": components["schemas"]["release-notes-content"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the latest release - * @description View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - "repos/get-latest-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - }; - }; - /** - * Get a release by tag name - * @description Get a published release with the specified tag. - */ - "repos/get-release-by-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description tag parameter */ - tag: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). - */ - "repos/get-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - responses: { - /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Unauthorized */ - 401: { - content: never; - }; - }; - }; - /** - * Delete a release - * @description Users with push access to the repository can delete a release. - */ - "repos/delete-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a release - * @description Users with push access to the repository can edit a release. - */ - "repos/update-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name?: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** @description `true` makes the release a draft, and `false` publishes the release. */ - draft?: boolean; - /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ - prerelease?: boolean; - /** - * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ - discussion_category_name?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** List release assets */ - "repos/list-release-assets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["release-asset"][]; - }; - }; - }; - }; - /** - * Upload a release asset - * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in - * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. - * - * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: - * - * `application/zip` - * - * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, - * you'll still need to pass your authentication to be able to upload an asset. - * - * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. - * - * **Notes:** - * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). - * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. - */ - "repos/upload-release-asset": { - parameters: { - query: { - name: string; - label?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody?: { - content: { - "application/octet-stream": string; - }; - }; - responses: { - /** @description Response for successful upload */ - 201: { - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - /** @description Response if you upload an asset with the same filename as another uploaded asset */ - 422: { - content: never; - }; - }; - }; - /** - * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - "reactions/list-for-release": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ - content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for a release - * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. - */ - "reactions/create-for-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. - * @enum {string} - */ - content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a release reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. - * - * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - "reactions/delete-for-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get rules for a branch - * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply - * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level - * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" - * enforcement statuses are not returned. - */ - "repos/get-branch-rules": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-rule-detailed"][]; - }; - }; - }; - }; - /** - * Get all repository rulesets - * @description Get all the rulesets for a repository. - */ - "repos/get-repo-rulesets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Include rulesets configured at higher levels that apply to this repository */ - includes_parents?: boolean; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a repository ruleset - * @description Create a ruleset for a repository. - */ - "repos/create-repo-ruleset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - /** @description Request body */ - requestBody: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["repository-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get a repository ruleset - * @description Get a ruleset for a repository. - */ - "repos/get-repo-ruleset": { - parameters: { - query?: { - /** @description Include rulesets configured at higher levels that apply to this repository */ - includes_parents?: boolean; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update a repository ruleset - * @description Update a ruleset for a repository. - */ - "repos/update-repo-ruleset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - /** @description Request body */ - requestBody?: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name?: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement?: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["repository-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete a repository ruleset - * @description Delete a ruleset for a repository. - */ - "repos/delete-repo-ruleset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-alerts-for-repo": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; - after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"][]; - }; - }; - /** @description Repository is public or secret scanning is disabled for the repository */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - "secret-scanning/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - state: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ - 400: { - content: never; - }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - /** @description State does not match the resolution or resolution comment */ - 422: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List locations for a secret scanning alert - * @description Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-locations-for-alert": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["secret-scanning-location"][]; - }; - }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository security advisories - * @description Lists security advisories in a repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. - * - * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. - */ - "security-advisories/list-repository-advisories": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "published"; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - /** @description Number of advisories to return per page. */ - per_page?: number; - /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ - state?: "triage" | "draft" | "published" | "closed"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a repository security advisory - * @description Creates a new repository security advisory. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. - */ - "security-advisories/create-repository-advisory": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["repository-advisory-create"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Privately report a security vulnerability - * @description Report a security vulnerability to the maintainers of the repository. - * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. - */ - "security-advisories/create-private-vulnerability-report": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["private-vulnerability-report-create"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository security advisory - * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You can access any published security advisory on a public repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. - * - * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a - * collaborator on the security advisory. - */ - "security-advisories/get-repository-advisory": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ghsa_id: components["parameters"]["ghsa_id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a repository security advisory - * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to update any security advisory, you must be a security manager or administrator of that repository, - * or a collaborator on the repository security advisory. - */ - "security-advisories/update-repository-advisory": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ghsa_id: components["parameters"]["ghsa_id"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["repository-advisory-update"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - }; - }; - /** - * Request a CVE for a repository security advisory - * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." - * - * You may request a CVE for public repositories, but cannot do so for private repositories. - * - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. - */ - "security-advisories/create-repository-advisory-cve-request": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ghsa_id: components["parameters"]["ghsa_id"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List stargazers - * @description Lists the people that have starred the repository. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - "activity/list-stargazers-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": - | components["schemas"]["simple-user"][] - | components["schemas"]["stargazer"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get the weekly commit activity - * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. - */ - "repos/get-code-frequency-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ - 200: { - content: { - "application/json": components["schemas"]["code-frequency-stat"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Get the last year of commit activity - * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. - */ - "repos/get-commit-activity-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-activity"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Get all contributor commit activity - * @description - * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: - * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - */ - "repos/get-contributors-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["contributor-activity"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Get the weekly commit count - * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. - * - * The array order is oldest week (index 0) to most recent week. - * - * The most recent week is seven days ago at UTC midnight to today at UTC midnight. - */ - "repos/get-participation-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description The array order is oldest week (index 0) to most recent week. */ - 200: { - content: { - "application/json": components["schemas"]["participation-stats"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the hourly commit count for each day - * @description Each array contains the day number, hour number, and number of commits: - * - * * `0-6`: Sunday - Saturday - * * `0-23`: Hour of day - * * Number of commits - * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. - */ - "repos/get-punch-card-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ - 200: { - content: { - "application/json": components["schemas"]["code-frequency-stat"][]; - }; - }; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Create a commit status - * @description Users with push access in a repository can create commit statuses for a given SHA. - * - * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. - */ - "repos/create-commit-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - sha: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the status. - * @enum {string} - */ - state: "error" | "failure" | "pending" | "success"; - /** - * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. - * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: - * `http://ci.example.com/user/repo/build/sha` - */ - target_url?: string | null; - /** @description A short description of the status. */ - description?: string | null; - /** - * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. - * @default default - */ - context?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["status"]; - }; - }; - }; - }; - /** - * List watchers - * @description Lists the people watching the specified repository. - */ - "activity/list-watchers-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Get a repository subscription - * @description Gets information about whether the authenticated user is subscribed to the repository. - */ - "activity/get-repo-subscription": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description if you subscribe to the repository */ - 200: { - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found if you don't subscribe to the repository */ - 404: { - content: never; - }; - }; - }; - /** - * Set a repository subscription - * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. - */ - "activity/set-repo-subscription": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Determines if notifications should be received from this repository. */ - subscribed?: boolean; - /** @description Determines if all notifications should be blocked from this repository. */ - ignored?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; - }; - }; - }; - /** - * Delete a repository subscription - * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). - */ - "activity/delete-repo-subscription": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** List repository tags */ - "repos/list-tags": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["tag"][]; - }; - }; - }; - }; - /** - * List tag protection states for a repository - * @description This returns the tag protection states of a repository. - * - * This information is only available to repository administrators. - */ - "repos/list-tag-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["tag-protection"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a tag protection state for a repository - * @description This creates a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - "repos/create-tag-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An optional glob pattern to match against when enforcing tag protection. */ - pattern: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["tag-protection"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a tag protection state for a repository - * @description This deletes a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - "repos/delete-tag-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - tag_protection_id: components["parameters"]["tag-protection-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download a repository archive (tar) - * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. - */ - "repos/download-tarball-archive": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: string; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * List repository teams - * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. - * - * For a public repository, a team is listed only if that team added the public repository explicitly. - * - * Personal access tokens require the following scopes: - * * `public_repo` to call this endpoint on a public repository - * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) - * - * This endpoint is not compatible with fine-grained personal access tokens. - */ - "repos/list-teams": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Get all repository topics */ - "repos/get-all-topics": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["topic"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Replace all repository topics */ - "repos/replace-all-topics": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ - names: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["topic"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get repository clones - * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - "repos/get-clones": { - parameters: { - query?: { - per?: components["parameters"]["per"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["clone-traffic"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get top referral paths - * @description Get the top 10 popular contents over the last 14 days. - */ - "repos/get-top-paths": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["content-traffic"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get top referral sources - * @description Get the top 10 referrers over the last 14 days. - */ - "repos/get-top-referrers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["referrer-traffic"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get page views - * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - "repos/get-views": { - parameters: { - query?: { - per?: components["parameters"]["per"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["view-traffic"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Transfer a repository - * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). - * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. - */ - "repos/transfer": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The username or organization name the repository will be transferred to. */ - new_owner: string; - /** @description The new name to be given to the repository. */ - new_name?: string; - /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ - team_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["minimal-repository"]; - }; - }; - }; - }; - /** - * Check if vulnerability alerts are enabled for a repository - * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - "repos/check-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response if repository is enabled with vulnerability alerts */ - 204: { - content: never; - }; - /** @description Not Found if repository is not enabled with vulnerability alerts */ - 404: { - content: never; - }; - }; - }; - /** - * Enable vulnerability alerts - * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - "repos/enable-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Disable vulnerability alerts - * @description Disables dependency alerts and the dependency graph for a repository. - * The authenticated user must have admin access to the repository. For more information, - * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - "repos/disable-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Download a repository archive (zip) - * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * - * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. - */ - "repos/download-zipball-archive": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: string; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Create a repository using a template - * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - "repos/create-using-template": { - parameters: { - path: { - /** @description The account owner of the template repository. The name is not case sensitive. */ - template_owner: string; - /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ - template_repo: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ - owner?: string; - /** @description The name of the new repository. */ - name: string; - /** @description A short description of the new repository. */ - description?: string; - /** - * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. - * @default false - */ - include_all_branches?: boolean; - /** - * @description Either `true` to create a new private repository or `false` to create a new public one. - * @default false - */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - }; - }; - /** - * List public repositories - * @description Lists all public repositories in the order that they were created. - * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. - */ - "repos/list-public": { - parameters: { - query?: { - since?: components["parameters"]["since-repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List environment secrets - * @description Lists all secrets available in an environment without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-environment-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - /** - * Get an environment public key - * @description Get the public key for an environment, which you need to encrypt environment - * secrets. You need to encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-environment-public-key": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - /** - * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-environment-secret": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-secret"]; - }; - }; - }; - }; - /** - * Create or update an environment secret - * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/create-or-update-environment-secret": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ - encrypted_value: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete an environment secret - * @description Deletes a secret in an environment using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/delete-environment-secret": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Default response */ - 204: { - content: never; - }; - }; - }; - /** - * List environment variables - * @description Lists all environment variables. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-environment-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Create an environment variable - * @description Create an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/create-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get an environment variable - * @description Gets a specific variable in an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/get-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-variable"]; - }; - }; - }; - }; - /** - * Delete an environment variable - * @description Deletes an environment variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/delete-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - name: components["parameters"]["variable-name"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an environment variable - * @description Updates an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/update-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - name: components["parameters"]["variable-name"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Search code - * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: - * - * `q=addClass+in:file+language:js+repo:jquery/jquery` - * - * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. - * - * Considerations for code search: - * - * Due to the complexity of searching code, there are a few restrictions on how searches are performed: - * - * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. - * * Only files smaller than 384 KB are searchable. - * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing - * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. - * - * This endpoint requires you to authenticate and limits you to 10 requests per minute. - */ - "search/code": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ - q: string; - /** - * @deprecated - * @description **This field is deprecated.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) - */ - sort?: "indexed"; - /** - * @deprecated - * @description **This field is deprecated.** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. - */ - order?: "desc" | "asc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["code-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Search commits - * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match - * metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: - * - * `q=repo:octocat/Spoon-Knife+css` - */ - "search/commits": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "author-date" | "committer-date"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["commit-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Search issues and pull requests - * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted - * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. - * - * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` - * - * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. - * - * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." - */ - "search/issues-and-pull-requests": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: - | "comments" - | "reactions" - | "reactions-+1" - | "reactions--1" - | "reactions-smile" - | "reactions-thinking_face" - | "reactions-heart" - | "reactions-tada" - | "interactions" - | "created" - | "updated"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["issue-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Search labels - * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: - * - * `q=bug+defect+enhancement&repository_id=64778136` - * - * The labels that best match the query appear first in the search results. - */ - "search/labels": { - parameters: { - query: { - /** @description The id of the repository. */ - repository_id: number; - /** @description The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ - q: string; - /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "created" | "updated"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["label-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: - * - * `q=tetris+language:assembly&sort=stars&order=desc` - * - * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. - */ - "search/repos": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["repo-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Search topics - * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. - * - * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: - * - * `q=ruby+is:featured` - * - * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. - */ - "search/topics": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ - q: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["topic-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you're looking for a list of popular users, you might try this query: - * - * `q=tom+repos:%3E42+followers:%3E1000` - * - * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. - * - * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." - */ - "search/users": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "followers" | "repositories" | "joined"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["user-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. - */ - "teams/get-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. - * - * To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - */ - "teams/delete-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Update a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. - * - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. - */ - "teams/update-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** - * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: - * **For a non-nested team:** - * * `secret` - only visible to organization owners and members of this team. - * * `closed` - visible to all members of this organization. - * **For a parent or child team:** - * * `closed` - visible to all members of this organization. - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * @enum {string} - */ - notification_setting?: - | "notifications_enabled" - | "notifications_disabled"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number | null; - }; - }; - }; - responses: { - /** @description Response when the updated information already exists */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List discussions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. - * - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/list-discussions-legacy": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion"][]; - }; - }; - }; - }; - /** - * Create a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. - * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "teams/create-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title: string; - /** @description The discussion post's body text. */ - body: string; - /** - * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. - * @default false - */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Get a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. - * - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/get-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Delete a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. - * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/delete-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. - * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/update-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * List discussion comments (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. - * - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/list-discussion-comments-legacy": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"][]; - }; - }; - }; - }; - /** - * Create a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. - * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "teams/create-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Get a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. - * - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/get-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Delete a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. - * - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/delete-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. - * - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/update-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * List reactions for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. - * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/list-for-team-discussion-comment-legacy": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. - * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - */ - "reactions/create-for-team-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. - * @enum {string} - */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * List reactions for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. - * - * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/list-for-team-discussion-legacy": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ - content?: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. - * - * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - */ - "reactions/create-for-team-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. - * @enum {string} - */ - content: - | "+1" - | "-1" - | "laugh" - | "confused" - | "heart" - | "hooray" - | "rocket" - | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * List pending team invitations (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. - * - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - "teams/list-pending-invitations-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - }; - }; - /** - * List team members (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. - * - * Team members will include the members of child teams. - */ - "teams/list-members-legacy": { - parameters: { - query?: { - /** @description Filters members returned by their role in the team. */ - role?: "member" | "maintainer" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get team member (Legacy) - * @deprecated - * @description The "Get team member" endpoint (described below) is deprecated. - * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - "teams/get-member-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description if user is a member */ - 204: { - content: never; - }; - /** @description if user is not a member */ - 404: { - content: never; - }; - }; - }; - /** - * Add team member (Legacy) - * @deprecated - * @description The "Add team member" endpoint (described below) is deprecated. - * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "teams/add-member-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found if team synchronization is set up */ - 404: { - content: never; - }; - /** @description Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ - 422: { - content: never; - }; - }; - }; - /** - * Remove team member (Legacy) - * @deprecated - * @description The "Remove team member" endpoint (described below) is deprecated. - * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - "teams/remove-member-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Not Found if team synchronization is setup */ - 404: { - content: never; - }; - }; - }; - /** - * Get team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. - * - * Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - "teams/get-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add or update team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - */ - "teams/add-or-update-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} - */ - role?: "member" | "maintainer"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: { - content: never; - }; - }; - }; - /** - * Remove team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - "teams/remove-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description if team synchronization is set up */ - 403: { - content: never; - }; - }; - }; - /** - * List team projects (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. - * - * Lists the organization projects for a team. - */ - "teams/list-projects-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-project"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check team permissions for a project (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. - * - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - */ - "teams/check-permissions-for-project-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-project"]; - }; - }; - /** @description Not Found if project is not managed by this team */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team project permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. - * - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - */ - "teams/add-or-update-project-permissions-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Forbidden if the project is not owned by the organization */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove a project from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. - * - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. - */ - "teams/remove-project-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List team repositories (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. - */ - "teams/list-repos-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check team permissions for a repository (Legacy) - * @deprecated - * @description **Note**: Repositories inherited through a parent team will also be checked. - * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: - */ - "teams/check-permissions-for-repo-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Alternative response with extra repository information */ - 200: { - content: { - "application/json": components["schemas"]["team-repository"]; - }; - }; - /** @description Response if repository is managed by this team */ - 204: { - content: never; - }; - /** @description Not Found if repository is not managed by this team */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team repository permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. - * - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "teams/add-or-update-repo-permissions-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove a repository from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. - * - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. - */ - "teams/remove-repo-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List child teams (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. - */ - "teams/list-child-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description if child teams exist */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get the authenticated user - * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. - * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. - */ - "users/get-authenticated": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": - | components["schemas"]["private-user"] - | components["schemas"]["public-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Update the authenticated user - * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. - */ - "users/update-authenticated": { - requestBody?: { - content: { - "application/json": { - /** - * @description The new name of the user. - * @example Omar Jahandar - */ - name?: string; - /** - * @description The publicly visible email address of the user. - * @example omar@example.com - */ - email?: string; - /** - * @description The new blog URL of the user. - * @example blog.example.com - */ - blog?: string; - /** - * @description The new Twitter username of the user. - * @example therealomarj - */ - twitter_username?: string | null; - /** - * @description The new company of the user. - * @example Acme corporation - */ - company?: string; - /** - * @description The new location of the user. - * @example Berlin, Germany - */ - location?: string; - /** @description The new hiring availability of the user. */ - hireable?: boolean; - /** @description The new short biography of the user. */ - bio?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List users blocked by the authenticated user - * @description List the users you've blocked on your personal account. - */ - "users/list-blocked-by-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if a user is blocked by the authenticated user - * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. - */ - "users/check-blocked": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description If the user is blocked */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description If the user is not blocked */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Block a user - * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. - */ - "users/block": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Unblock a user - * @description Unblocks the given user and returns a 204. - */ - "users/unblock": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List codespaces for the authenticated user - * @description Lists the authenticated user's codespaces. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - repository_id?: components["parameters"]["repository-id-in-query"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a codespace for the authenticated user - * @description Creates a new codespace, owned by the authenticated user. - * - * This endpoint requires either a `repository_id` OR a `pull_request` but not both. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/create-for-authenticated-user": { - requestBody: { - content: { - "application/json": OneOf< - [ - { - /** @description Repository id for this codespace */ - repository_id: number; - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }, - { - /** @description Pull request number for this codespace */ - pull_request: { - /** @description Pull request number */ - pull_request_number: number; - /** @description Repository id for this codespace */ - repository_id: number; - }; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - }, - ] - >; - }; - }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List secrets for the authenticated user - * @description Lists all secrets available for a user's Codespaces without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/list-secrets-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["codespaces-secret"][]; - }; - }; - }; - }; - }; - /** - * Get public key for the authenticated user - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/get-public-key-for-authenticated-user": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-user-public-key"]; - }; - }; - }; - }; - /** - * Get a secret for the authenticated user - * @description Gets a secret available to a user's codespaces without revealing its encrypted value. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/get-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-secret"]; - }; - }; - }; - }; - /** - * Create or update a secret for the authenticated user - * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - "codespaces/create-or-update-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids?: (number | string)[]; - }; - }; - }; - responses: { - /** @description Response after successfully creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response after successfully updating a secret */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a secret for the authenticated user - * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/delete-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for a user secret - * @description List the repositories that have been granted the ability to use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - "codespaces/list-repositories-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Set selected repositories for a user secret - * @description Select the repositories that will use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - "codespaces/set-repositories-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids: number[]; - }; - }; - }; - responses: { - /** @description No Content when repositories were added to the selected list */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add a selected repository to a user secret - * @description Adds a repository to the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. - */ - "codespaces/add-repository-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove a selected repository from a user secret - * @description Removes a repository from the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/remove-repository-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was removed from the selected list */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get a codespace for the authenticated user - * @description Gets information about a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/get-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete a codespace for the authenticated user - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/delete-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update a codespace for the authenticated user - * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. - * - * If you specify a new machine type it will be applied the next time your codespace is started. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/update-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description A valid machine to transition this codespace to. */ - machine?: string; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ - recent_folders?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Export a codespace for the authenticated user - * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. - * - * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/export-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["codespace-export-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get details about a codespace export - * @description Gets information about an export of a codespace. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/get-export-details-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - export_id: components["parameters"]["export-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace-export-details"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List machine types for a codespace - * @description List the machine types a codespace can transition to use. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - "codespaces/codespace-machines-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - machines: components["schemas"]["codespace-machine"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a repository from an unpublished codespace - * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. - * - * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. - * - * This will fail for a codespace that is already published, meaning it has an associated repository. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/publish-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A name for the new repository. */ - name?: string; - /** - * @description Whether the new repository should be private. - * @default false - */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["codespace-with-full-repository"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Start a codespace for the authenticated user - * @description Starts a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/start-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - /** @description Payment required */ - 402: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Stop a codespace for the authenticated user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/stop-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get list of conflicting packages during Docker migration for authenticated-user - * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - }; - }; - /** - * Set primary email visibility for the authenticated user - * @description Sets the visibility for your primary email addresses. - */ - "users/set-primary-email-visibility-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Denotes whether an email is publicly visible. - * @enum {string} - */ - visibility: "public" | "private"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. - */ - "users/list-emails-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - "users/add-email-for-authenticated-user": { - requestBody?: { - content: { - "application/json": { - /** - * @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. - * @example [] - */ - emails: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - "users/delete-email-for-authenticated-user": { - requestBody?: { - content: { - "application/json": { - /** @description Email addresses associated with the GitHub user account. */ - emails: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List followers of the authenticated user - * @description Lists the people following the authenticated user. - */ - "users/list-followers-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List the people the authenticated user follows - * @description Lists the people who the authenticated user follows. - */ - "users/list-followed-by-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Check if a person is followed by the authenticated user */ - "users/check-person-is-followed-by-authenticated": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description if the person is followed by the authenticated user */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description if the person is not followed by the authenticated user */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Follow a user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - "users/follow": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unfollow a user - * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - "users/unfollow": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List GPG keys for the authenticated user - * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/list-gpg-keys-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gpg-key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a GPG key for the authenticated user - * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/create-gpg-key-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description A descriptive name for the new key. */ - name?: string; - /** @description A GPG key in ASCII-armored format. */ - armored_public_key: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["gpg-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a GPG key for the authenticated user - * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/get-gpg-key-for-authenticated-user": { - parameters: { - path: { - gpg_key_id: components["parameters"]["gpg-key-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gpg-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a GPG key for the authenticated user - * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/delete-gpg-key-for-authenticated-user": { - parameters: { - path: { - gpg_key_id: components["parameters"]["gpg-key-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List app installations accessible to the user access token - * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You can find the permissions for the installation under the `permissions` key. - */ - "apps/list-installations-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description You can find the permissions for the installation under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List repositories accessible to the user access token - * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The access the user has to each repository is included in the hash under the `permissions` key. - */ - "apps/list-installation-repos-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - total_count: number; - repository_selection?: string; - repositories: components["schemas"]["repository"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add a repository to an app installation - * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - "apps/add-repo-to-installation-for-authenticated-user": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove a repository from an app installation - * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - "apps/remove-repo-from-installation-for-authenticated-user": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ - 422: { - content: never; - }; - }; - }; - /** - * Get interaction restrictions for your public repositories - * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. - */ - "interactions/get-restrictions-for-authenticated-user": { - responses: { - /** @description Default response */ - 200: { - content: { - "application/json": - | components["schemas"]["interaction-limit-response"] - | Record; - }; - }; - /** @description Response when there are no restrictions */ - 204: { - content: never; - }; - }; - }; - /** - * Set interaction restrictions for your public repositories - * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. - */ - "interactions/set-restrictions-for-authenticated-user": { - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove interaction restrictions from your public repositories - * @description Removes any interaction restrictions from your public repositories. - */ - "interactions/remove-restrictions-for-authenticated-user": { - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List user account issues assigned to the authenticated user - * @description List issues across owned and member repositories assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-authenticated-user": { - parameters: { - query?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - filter?: - | "assigned" - | "created" - | "mentioned" - | "subscribed" - | "repos" - | "all"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List public SSH keys for the authenticated user - * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/list-public-ssh-keys-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a public SSH key for the authenticated user - * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/create-public-ssh-key-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description A descriptive name for the new key. - * @example Personal MacBook Air - */ - title?: string; - /** @description The public SSH key to add to your GitHub account. */ - key: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/get-public-ssh-key-for-authenticated-user": { - parameters: { - path: { - key_id: components["parameters"]["key-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a public SSH key for the authenticated user - * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/delete-public-ssh-key-for-authenticated-user": { - parameters: { - path: { - key_id: components["parameters"]["key-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List subscriptions for the authenticated user - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - "apps/list-subscriptions-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["user-marketplace-purchase"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List subscriptions for the authenticated user (stubbed) - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - "apps/list-subscriptions-for-authenticated-user-stubbed": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["user-marketplace-purchase"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * List organization memberships for the authenticated user - * @description Lists all of the authenticated user's organization memberships. - */ - "orgs/list-memberships-for-authenticated-user": { - parameters: { - query?: { - /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ - state?: "active" | "pending"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["org-membership"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an organization membership for the authenticated user - * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. - */ - "orgs/get-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization membership for the authenticated user - * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. - */ - "orgs/update-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state that the membership should be in. Only `"active"` will be accepted. - * @enum {string} - */ - state: "active"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List user migrations - * @description Lists all migrations a user has started. - */ - "migrations/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["migration"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Start a user migration - * @description Initiates the generation of a user migration archive. - */ - "migrations/start-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Lock the repositories being migrated at the start of the migration - * @example true - */ - lock_repositories?: boolean; - /** - * @description Indicates whether metadata should be excluded and only git source should be included for the migration. - * @example true - */ - exclude_metadata?: boolean; - /** - * @description Indicates whether the repository git data should be excluded from the migration. - * @example true - */ - exclude_git_data?: boolean; - /** - * @description Do not include attachments in the migration - * @example true - */ - exclude_attachments?: boolean; - /** - * @description Do not include releases in the migration - * @example true - */ - exclude_releases?: boolean; - /** - * @description Indicates whether projects owned by the organization or users should be excluded. - * @example true - */ - exclude_owner_projects?: boolean; - /** - * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). - * @default false - * @example true - */ - org_metadata_only?: boolean; - /** - * @description Exclude attributes from the API response to improve performance - * @example [ - * "repositories" - * ] - */ - exclude?: "repositories"[]; - repositories: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a user migration status - * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: - * - * * `pending` - the migration hasn't started yet. - * * `exporting` - the migration is in progress. - * * `exported` - the migration finished successfully. - * * `failed` - the migration failed. - * - * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). - */ - "migrations/get-status-for-authenticated-user": { - parameters: { - query?: { - exclude?: string[]; - }; - path: { - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download a user migration archive - * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: - * - * * attachments - * * bases - * * commit\_comments - * * issue\_comments - * * issue\_events - * * issues - * * milestones - * * organizations - * * projects - * * protected\_branches - * * pull\_request\_reviews - * * pull\_requests - * * releases - * * repositories - * * review\_comments - * * schema - * * users - * - * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. - */ - "migrations/get-archive-for-authenticated-user": { - parameters: { - path: { - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 302: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a user migration archive - * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. - */ - "migrations/delete-archive-for-authenticated-user": { - parameters: { - path: { - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unlock a user repository - * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. - */ - "migrations/unlock-repo-for-authenticated-user": { - parameters: { - path: { - migration_id: components["parameters"]["migration-id"]; - repo_name: components["parameters"]["repo-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories for a user migration - * @description Lists all the repositories for this user migration. - */ - "migrations/list-repos-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organizations for the authenticated user - * @description List organizations for the authenticated user. - * - * **OAuth scope requirements** - * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. - */ - "orgs/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List packages for the authenticated user's namespace - * @description Lists packages owned by the authenticated user within the user's namespace. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/list-packages-for-authenticated-user": { - parameters: { - query: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - package_type: - | "npm" - | "maven" - | "rubygems" - | "docker" - | "nuget" - | "container"; - visibility?: components["parameters"]["package-visibility"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - }; - }; - /** - * Get a package for the authenticated user - * @description Gets a specific package for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - /** - * Delete a package for the authenticated user - * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/delete-package-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package for the authenticated user - * @description Restores a package owned by the authenticated user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/restore-package-for-authenticated-user": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List package versions for a package owned by the authenticated user - * @description Lists package versions for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The state of the package, either active or deleted. */ - state?: "active" | "deleted"; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a package version for the authenticated user - * @description Gets a specific package version for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-version-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - /** - * Delete a package version for the authenticated user - * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/delete-package-version-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package version for the authenticated user - * @description Restores a package version owned by the authenticated user. - * - * You can restore a deleted package version under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/restore-package-version-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a user project - * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/create-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Name of the project - * @example Week One Sprint - */ - name: string; - /** - * @description Body of the project - * @example This project represents the sprint of the first week in January - */ - body?: string | null; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List public email addresses for the authenticated user - * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. - */ - "users/list-public-emails-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories for the authenticated user - * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - */ - "repos/list-for-authenticated-user": { - parameters: { - query?: { - /** @description Limit results to repositories with the specified visibility. */ - visibility?: "all" | "public" | "private"; - /** - * @description Comma-separated list of values. Can include: - * * `owner`: Repositories that are owned by the authenticated user. - * * `collaborator`: Repositories that the user has been added to as a collaborator. - * * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. - */ - affiliation?: string; - /** @description Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ - type?: "all" | "owner" | "public" | "private" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - since?: components["parameters"]["since-repo-date"]; - before?: components["parameters"]["before-repo-date"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a repository for the authenticated user - * @description Creates a new repository for the authenticated user. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. - */ - "repos/create-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Whether the repository is private. - * @default false - */ - private?: boolean; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues?: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects?: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki?: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - team_id?: number; - /** - * @description Whether the repository is initialized with a minimal README. - * @default false - */ - auto_init?: boolean; - /** - * @description The desired language or platform to apply to the .gitignore. - * @example Haskell - */ - gitignore_template?: string; - /** - * @description The license keyword of the open source license for this repository. - * @example mit - */ - license_template?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads?: boolean; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List repository invitations for the authenticated user - * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. - */ - "repos/list-invitations-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["repository-invitation"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Decline a repository invitation */ - "repos/decline-invitation-for-authenticated-user": { - parameters: { - path: { - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - /** Accept a repository invitation */ - "repos/accept-invitation-for-authenticated-user": { - parameters: { - path: { - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - /** - * List social accounts for the authenticated user - * @description Lists all of your social accounts. - */ - "users/list-social-accounts-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add social accounts for the authenticated user - * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - "users/add-social-account-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Full URLs for the social media profiles to add. - * @example [] - */ - account_urls: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete social accounts for the authenticated user - * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - "users/delete-social-account-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Full URLs for the social media profiles to delete. - * @example [] - */ - account_urls: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List SSH signing keys for the authenticated user - * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/list-ssh-signing-keys-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a SSH signing key for the authenticated user - * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/create-ssh-signing-key-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description A descriptive name for the new key. - * @example Personal MacBook Air - */ - title?: string; - /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ - key: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an SSH signing key for the authenticated user - * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/get-ssh-signing-key-for-authenticated-user": { - parameters: { - path: { - ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an SSH signing key for the authenticated user - * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/delete-ssh-signing-key-for-authenticated-user": { - parameters: { - path: { - ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories starred by the authenticated user - * @description Lists repositories the authenticated user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - "activity/list-repos-starred-by-authenticated-user": { - parameters: { - query?: { - sort?: components["parameters"]["sort-starred"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["repository"][]; - "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Check if a repository is starred by the authenticated user - * @description Whether the authenticated user has starred the repository. - */ - "activity/check-repo-is-starred-by-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response if this repository is starred by you */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if this repository is not starred by you */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Star a repository for the authenticated user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "activity/star-repo-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unstar a repository for the authenticated user - * @description Unstar a repository that the authenticated user has previously starred. - */ - "activity/unstar-repo-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories watched by the authenticated user - * @description Lists repositories the authenticated user is watching. - */ - "activity/list-watched-repos-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. - */ - "teams/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-full"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List users - * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. - * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. - */ - "users/list": { - parameters: { - query?: { - since?: components["parameters"]["since-user"]; - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a user - * @description Provides publicly available information about someone with a GitHub account. - * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" - * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public†which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). - * - * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". - */ - "users/get-by-username": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": - | components["schemas"]["private-user"] - | components["schemas"]["public-user"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get list of conflicting packages during Docker migration for user - * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - "packages/list-docker-migration-conflicting-packages-for-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List events for the authenticated user - * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. - */ - "activity/list-events-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List organization events for the authenticated user - * @description This is the user's organization dashboard. You must be authenticated as the user to view this. - */ - "activity/list-org-events-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** List public events for a user */ - "activity/list-public-events-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List followers of a user - * @description Lists the people following the specified user. - */ - "users/list-followers-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * List the people a user follows - * @description Lists the people who the specified user follows. - */ - "users/list-following-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** Check if a user follows another user */ - "users/check-following-for-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - target_user: string; - }; - }; - responses: { - /** @description if the user follows the target user */ - 204: { - content: never; - }; - /** @description if the user does not follow the target user */ - 404: { - content: never; - }; - }; - }; - /** - * List gists for a user - * @description Lists public gists for the specified user: - */ - "gists/list-for-user": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List GPG keys for a user - * @description Lists the GPG keys for a user. This information is accessible by anyone. - */ - "users/list-gpg-keys-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gpg-key"][]; - }; - }; - }; - }; - /** - * Get contextual information for a user - * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. - * - * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: - * - * ```shell - * curl -u username:token - * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 - * ``` - */ - "users/get-context-for-user": { - parameters: { - query?: { - /** @description Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ - subject_type?: "organization" | "repository" | "issue" | "pull_request"; - /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ - subject_id?: string; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hovercard"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a user installation for the authenticated app - * @description Enables an authenticated GitHub App to find the user’s installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-user-installation": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - /** - * List public keys for a user - * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. - */ - "users/list-public-keys-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["key-simple"][]; - }; - }; - }; - }; - /** - * List organizations for a user - * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. - * - * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. - */ - "orgs/list-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - }; - }; - /** - * List packages for a user - * @description Lists all packages in a user's namespace for which the requesting user has access. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/list-packages-for-user": { - parameters: { - query: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - package_type: - | "npm" - | "maven" - | "rubygems" - | "docker" - | "nuget" - | "container"; - visibility?: components["parameters"]["package-visibility"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a package for a user - * @description Gets a specific package metadata for a public package owned by a user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - /** - * Delete a package for a user - * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package for a user - * @description Restores an entire package for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-for-user": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List package versions for a package owned by a user - * @description Lists package versions for a public package owned by a specified user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-all-package-versions-for-package-owned-by-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a package version for a user - * @description Gets a specific package version for a public package owned by a specified user. - * - * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-version-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - /** - * Delete package version for a user - * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-version-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore package version for a user - * @description Restores a specific package version for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-version-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List user projects - * @description Lists projects for a user. - */ - "projects/list-for-user": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List events received by the authenticated user - * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. - */ - "activity/list-received-events-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** List public events received by a user */ - "activity/list-received-public-events-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List repositories for a user - * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. - */ - "repos/list-for-user": { - parameters: { - query?: { - /** @description Limit results to repositories of the specified type. */ - type?: "all" | "owner" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Get GitHub Actions billing for a user - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `user` scope. - */ - "billing/get-github-actions-billing-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; - }; - }; - }; - /** - * Get GitHub Packages billing for a user - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - "billing/get-github-packages-billing-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; - }; - }; - /** - * Get shared storage billing for a user - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - "billing/get-shared-storage-billing-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; - }; - }; - /** - * List social accounts for a user - * @description Lists social media accounts for a user. This endpoint is accessible by anyone. - */ - "users/list-social-accounts-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - }; - }; - /** - * List SSH signing keys for a user - * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. - */ - "users/list-ssh-signing-keys-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"][]; - }; - }; - }; - }; - /** - * List repositories starred by a user - * @description Lists repositories a user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - "activity/list-repos-starred-by-user": { - parameters: { - query?: { - sort?: components["parameters"]["sort-starred"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": - | components["schemas"]["starred-repository"][] - | components["schemas"]["repository"][]; - }; - }; - }; - }; - /** - * List repositories watched by a user - * @description Lists repositories a user is watching. - */ - "activity/list-repos-watched-by-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Get all API versions - * @description Get all supported GitHub API versions. - */ - "meta/get-all-versions": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the Zen of GitHub - * @description Get a random sentence from the Zen of GitHub - */ - "meta/get-zen": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - /** - * Compare two commits - * @description **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. - * - * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." - * - * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/compare-commits": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - base: string; - head: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comparison"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; -} diff --git a/node_modules/@octokit/plugin-paginate-rest/LICENSE b/node_modules/@octokit/plugin-paginate-rest/LICENSE deleted file mode 100644 index 57bee5f..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -MIT License Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@octokit/plugin-paginate-rest/README.md b/node_modules/@octokit/plugin-paginate-rest/README.md deleted file mode 100644 index 9ebf695..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/README.md +++ /dev/null @@ -1,269 +0,0 @@ -# plugin-paginate-rest.js - -> Octokit plugin to paginate REST API endpoint responses - -[![@latest](https://img.shields.io/npm/v/@octokit/plugin-paginate-rest.svg)](https://www.npmjs.com/package/@octokit/plugin-paginate-rest) -[![Build Status](https://github.com/octokit/plugin-paginate-rest.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-paginate-rest.js/actions?workflow=Test) - -## Usage - - - - - - -
-Browsers - - -Load `@octokit/plugin-paginate-rest` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [esm.sh](https://esm.sh) - -```html - -``` - -
-Node - - -Install with `npm install @octokit/core @octokit/plugin-paginate-rest`. Optionally replace `@octokit/core` with a core-compatible module - -```js -const { Octokit } = require("@octokit/core"); -const { - paginateRest, - composePaginateRest, -} = require("@octokit/plugin-paginate-rest"); -``` - -
- -```js -const MyOctokit = Octokit.plugin(paginateRest); -const octokit = new MyOctokit({ auth: "secret123" }); - -// See https://developer.github.com/v3/issues/#list-issues-for-a-repository -const issues = await octokit.paginate("GET /repos/{owner}/{repo}/issues", { - owner: "octocat", - repo: "hello-world", - since: "2010-10-01", - per_page: 100, -}); -``` - -If you want to utilize the pagination methods in another plugin, use `composePaginateRest`. - -```js -function myPlugin(octokit, options) { - return { - allStars({owner, repo}) => { - return composePaginateRest( - octokit, - "GET /repos/{owner}/{repo}/stargazers", - {owner, repo } - ) - } - } -} -``` - -## `octokit.paginate()` - -The `paginateRest` plugin adds a new `octokit.paginate()` method which accepts the same parameters as [`octokit.request`](https://github.com/octokit/request.js#request). Only "List ..." endpoints such as [List issues for a repository](https://developer.github.com/v3/issues/#list-issues-for-a-repository) are supporting pagination. Their [response includes a Link header](https://developer.github.com/v3/issues/#response-1). For other endpoints, `octokit.paginate()` behaves the same as `octokit.request()`. - -The `per_page` parameter is usually defaulting to `30`, and can be set to up to `100`, which helps retrieving a big amount of data without hitting the rate limits too soon. - -An optional `mapFunction` can be passed to map each page response to a new value, usually an array with only the data you need. This can help to reduce memory usage, as only the relevant data has to be kept in memory until the pagination is complete. - -```js -const issueTitles = await octokit.paginate( - "GET /repos/{owner}/{repo}/issues", - { - owner: "octocat", - repo: "hello-world", - since: "2010-10-01", - per_page: 100, - }, - (response) => response.data.map((issue) => issue.title), -); -``` - -The `mapFunction` gets a 2nd argument `done` which can be called to end the pagination early. - -```js -const issues = await octokit.paginate( - "GET /repos/{owner}/{repo}/issues", - { - owner: "octocat", - repo: "hello-world", - since: "2010-10-01", - per_page: 100, - }, - (response, done) => { - if (response.data.find((issue) => issue.title.includes("something"))) { - done(); - } - return response.data; - }, -); -``` - -Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): - -```js -const issues = await octokit.paginate(octokit.rest.issues.listForRepo, { - owner: "octocat", - repo: "hello-world", - since: "2010-10-01", - per_page: 100, -}); -``` - -## `octokit.paginate.iterator()` - -If your target runtime environments supports async iterators (such as most modern browsers and Node 10+), you can iterate through each response - -```js -const parameters = { - owner: "octocat", - repo: "hello-world", - since: "2010-10-01", - per_page: 100, -}; -for await (const response of octokit.paginate.iterator( - "GET /repos/{owner}/{repo}/issues", - parameters, -)) { - // do whatever you want with each response, break out of the loop, etc. - const issues = response.data; - console.log("%d issues found", issues.length); -} -``` - -Alternatively you can pass a `request` method as first argument. This is great when using in combination with [`@octokit/plugin-rest-endpoint-methods`](https://github.com/octokit/plugin-rest-endpoint-methods.js/): - -```js -const parameters = { - owner: "octocat", - repo: "hello-world", - since: "2010-10-01", - per_page: 100, -}; -for await (const response of octokit.paginate.iterator( - octokit.rest.issues.listForRepo, - parameters, -)) { - // do whatever you want with each response, break out of the loop, etc. - const issues = response.data; - console.log("%d issues found", issues.length); -} -``` - -## `composePaginateRest` and `composePaginateRest.iterator` - -The `compose*` methods work just like their `octokit.*` counterparts described above, with the differenct that both methods require an `octokit` instance to be passed as first argument - -## How it works - -`octokit.paginate()` wraps `octokit.request()`. As long as a `rel="next"` link value is present in the response's `Link` header, it sends another request for that URL, and so on. - -Most of GitHub's paginating REST API endpoints return an array, but there are a few exceptions which return an object with a key that includes the items array. For example: - -- [Search repositories](https://developer.github.com/v3/search/#example) (key `items`) -- [List check runs for a specific ref](https://developer.github.com/v3/checks/runs/#response-3) (key: `check_runs`) -- [List check suites for a specific ref](https://developer.github.com/v3/checks/suites/#response-1) (key: `check_suites`) -- [List repositories](https://developer.github.com/v3/apps/installations/#list-repositories) for an installation (key: `repositories`) -- [List installations for a user](https://developer.github.com/v3/apps/installations/#response-1) (key `installations`) - -`octokit.paginate()` is working around these inconsistencies so you don't have to worry about it. - -If a response is lacking the `Link` header, `octokit.paginate()` still resolves with an array, even if the response returns a single object. - -## Types - -The plugin also exposes some types and runtime type guards for TypeScript projects. - - - - - - -
-Types - - -```typescript -import { - PaginateInterface, - PaginatingEndpoints, -} from "@octokit/plugin-paginate-rest"; -``` - -
-Guards - - -```typescript -import { isPaginatingEndpoint } from "@octokit/plugin-paginate-rest"; -``` - -
- -### PaginateInterface - -An `interface` that declares all the overloads of the `.paginate` method. - -### PaginatingEndpoints - -An `interface` which describes all API endpoints supported by the plugin. Some overloads of `.paginate()` method and `composePaginateRest()` function depend on `PaginatingEndpoints`, using the `keyof PaginatingEndpoints` as a type for one of its arguments. - -```typescript -import { Octokit } from "@octokit/core"; -import { - PaginatingEndpoints, - composePaginateRest, -} from "@octokit/plugin-paginate-rest"; - -type DataType = "data" extends keyof T ? T["data"] : unknown; - -async function myPaginatePlugin( - octokit: Octokit, - endpoint: E, - parameters?: PaginatingEndpoints[E]["parameters"], -): Promise> { - return await composePaginateRest(octokit, endpoint, parameters); -} -``` - -### isPaginatingEndpoint - -A type guard, `isPaginatingEndpoint(arg)` returns `true` if `arg` is one of the keys in `PaginatingEndpoints` (is `keyof PaginatingEndpoints`). - -```typescript -import { Octokit } from "@octokit/core"; -import { - isPaginatingEndpoint, - composePaginateRest, -} from "@octokit/plugin-paginate-rest"; - -async function myPlugin(octokit: Octokit, arg: unknown) { - if (isPaginatingEndpoint(arg)) { - return await composePaginateRest(octokit, arg); - } - // ... -} -``` - -## Contributing - -See [CONTRIBUTING.md](CONTRIBUTING.md) - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js deleted file mode 100644 index ace7862..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js +++ /dev/null @@ -1,393 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - composePaginateRest: () => composePaginateRest, - isPaginatingEndpoint: () => isPaginatingEndpoint, - paginateRest: () => paginateRest, - paginatingEndpoints: () => paginatingEndpoints -}); -module.exports = __toCommonJS(dist_src_exports); - -// pkg/dist-src/version.js -var VERSION = "9.0.0"; - -// pkg/dist-src/normalize-paginated-list-response.js -function normalizePaginatedListResponse(response) { - if (!response.data) { - return { - ...response, - data: [] - }; - } - const responseNeedsNormalization = "total_count" 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; - delete response.data.incomplete_results; - delete response.data.repository_selection; - delete response.data.total_count; - 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; - 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]; - 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/generated/paginating-endpoints.js -var paginatingEndpoints = [ - "GET /advisories", - "GET /app/hook/deliveries", - "GET /app/installation-requests", - "GET /app/installations", - "GET /assignments/{assignment_id}/accepted_assignments", - "GET /classrooms", - "GET /classrooms/{classroom_id}/assignments", - "GET /enterprises/{enterprise}/dependabot/alerts", - "GET /enterprises/{enterprise}/secret-scanning/alerts", - "GET /events", - "GET /gists", - "GET /gists/public", - "GET /gists/starred", - "GET /gists/{gist_id}/comments", - "GET /gists/{gist_id}/commits", - "GET /gists/{gist_id}/forks", - "GET /installation/repositories", - "GET /issues", - "GET /licenses", - "GET /marketplace_listing/plans", - "GET /marketplace_listing/plans/{plan_id}/accounts", - "GET /marketplace_listing/stubbed/plans", - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", - "GET /networks/{owner}/{repo}/events", - "GET /notifications", - "GET /organizations", - "GET /orgs/{org}/actions/cache/usage-by-repository", - "GET /orgs/{org}/actions/permissions/repositories", - "GET /orgs/{org}/actions/runners", - "GET /orgs/{org}/actions/secrets", - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", - "GET /orgs/{org}/actions/variables", - "GET /orgs/{org}/actions/variables/{name}/repositories", - "GET /orgs/{org}/blocks", - "GET /orgs/{org}/code-scanning/alerts", - "GET /orgs/{org}/codespaces", - "GET /orgs/{org}/codespaces/secrets", - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", - "GET /orgs/{org}/copilot/billing/seats", - "GET /orgs/{org}/dependabot/alerts", - "GET /orgs/{org}/dependabot/secrets", - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", - "GET /orgs/{org}/events", - "GET /orgs/{org}/failed_invitations", - "GET /orgs/{org}/hooks", - "GET /orgs/{org}/hooks/{hook_id}/deliveries", - "GET /orgs/{org}/installations", - "GET /orgs/{org}/invitations", - "GET /orgs/{org}/invitations/{invitation_id}/teams", - "GET /orgs/{org}/issues", - "GET /orgs/{org}/members", - "GET /orgs/{org}/members/{username}/codespaces", - "GET /orgs/{org}/migrations", - "GET /orgs/{org}/migrations/{migration_id}/repositories", - "GET /orgs/{org}/outside_collaborators", - "GET /orgs/{org}/packages", - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", - "GET /orgs/{org}/personal-access-token-requests", - "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", - "GET /orgs/{org}/personal-access-tokens", - "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", - "GET /orgs/{org}/projects", - "GET /orgs/{org}/public_members", - "GET /orgs/{org}/repos", - "GET /orgs/{org}/rulesets", - "GET /orgs/{org}/secret-scanning/alerts", - "GET /orgs/{org}/security-advisories", - "GET /orgs/{org}/teams", - "GET /orgs/{org}/teams/{team_slug}/discussions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/invitations", - "GET /orgs/{org}/teams/{team_slug}/members", - "GET /orgs/{org}/teams/{team_slug}/projects", - "GET /orgs/{org}/teams/{team_slug}/repos", - "GET /orgs/{org}/teams/{team_slug}/teams", - "GET /projects/columns/{column_id}/cards", - "GET /projects/{project_id}/collaborators", - "GET /projects/{project_id}/columns", - "GET /repos/{owner}/{repo}/actions/artifacts", - "GET /repos/{owner}/{repo}/actions/caches", - "GET /repos/{owner}/{repo}/actions/organization-secrets", - "GET /repos/{owner}/{repo}/actions/organization-variables", - "GET /repos/{owner}/{repo}/actions/runners", - "GET /repos/{owner}/{repo}/actions/runs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", - "GET /repos/{owner}/{repo}/actions/secrets", - "GET /repos/{owner}/{repo}/actions/variables", - "GET /repos/{owner}/{repo}/actions/workflows", - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", - "GET /repos/{owner}/{repo}/activity", - "GET /repos/{owner}/{repo}/assignees", - "GET /repos/{owner}/{repo}/branches", - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", - "GET /repos/{owner}/{repo}/code-scanning/alerts", - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", - "GET /repos/{owner}/{repo}/code-scanning/analyses", - "GET /repos/{owner}/{repo}/codespaces", - "GET /repos/{owner}/{repo}/codespaces/devcontainers", - "GET /repos/{owner}/{repo}/codespaces/secrets", - "GET /repos/{owner}/{repo}/collaborators", - "GET /repos/{owner}/{repo}/comments", - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/commits", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", - "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", - "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", - "GET /repos/{owner}/{repo}/commits/{ref}/status", - "GET /repos/{owner}/{repo}/commits/{ref}/statuses", - "GET /repos/{owner}/{repo}/contributors", - "GET /repos/{owner}/{repo}/dependabot/alerts", - "GET /repos/{owner}/{repo}/dependabot/secrets", - "GET /repos/{owner}/{repo}/deployments", - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", - "GET /repos/{owner}/{repo}/environments", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", - "GET /repos/{owner}/{repo}/events", - "GET /repos/{owner}/{repo}/forks", - "GET /repos/{owner}/{repo}/hooks", - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", - "GET /repos/{owner}/{repo}/invitations", - "GET /repos/{owner}/{repo}/issues", - "GET /repos/{owner}/{repo}/issues/comments", - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/issues/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", - "GET /repos/{owner}/{repo}/issues/{issue_number}/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", - "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", - "GET /repos/{owner}/{repo}/keys", - "GET /repos/{owner}/{repo}/labels", - "GET /repos/{owner}/{repo}/milestones", - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", - "GET /repos/{owner}/{repo}/notifications", - "GET /repos/{owner}/{repo}/pages/builds", - "GET /repos/{owner}/{repo}/projects", - "GET /repos/{owner}/{repo}/pulls", - "GET /repos/{owner}/{repo}/pulls/comments", - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", - "GET /repos/{owner}/{repo}/releases", - "GET /repos/{owner}/{repo}/releases/{release_id}/assets", - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", - "GET /repos/{owner}/{repo}/rules/branches/{branch}", - "GET /repos/{owner}/{repo}/rulesets", - "GET /repos/{owner}/{repo}/secret-scanning/alerts", - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", - "GET /repos/{owner}/{repo}/security-advisories", - "GET /repos/{owner}/{repo}/stargazers", - "GET /repos/{owner}/{repo}/subscribers", - "GET /repos/{owner}/{repo}/tags", - "GET /repos/{owner}/{repo}/teams", - "GET /repos/{owner}/{repo}/topics", - "GET /repositories", - "GET /repositories/{repository_id}/environments/{environment_name}/secrets", - "GET /repositories/{repository_id}/environments/{environment_name}/variables", - "GET /search/code", - "GET /search/commits", - "GET /search/issues", - "GET /search/labels", - "GET /search/repositories", - "GET /search/topics", - "GET /search/users", - "GET /teams/{team_id}/discussions", - "GET /teams/{team_id}/discussions/{discussion_number}/comments", - "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /teams/{team_id}/discussions/{discussion_number}/reactions", - "GET /teams/{team_id}/invitations", - "GET /teams/{team_id}/members", - "GET /teams/{team_id}/projects", - "GET /teams/{team_id}/repos", - "GET /teams/{team_id}/teams", - "GET /user/blocks", - "GET /user/codespaces", - "GET /user/codespaces/secrets", - "GET /user/emails", - "GET /user/followers", - "GET /user/following", - "GET /user/gpg_keys", - "GET /user/installations", - "GET /user/installations/{installation_id}/repositories", - "GET /user/issues", - "GET /user/keys", - "GET /user/marketplace_purchases", - "GET /user/marketplace_purchases/stubbed", - "GET /user/memberships/orgs", - "GET /user/migrations", - "GET /user/migrations/{migration_id}/repositories", - "GET /user/orgs", - "GET /user/packages", - "GET /user/packages/{package_type}/{package_name}/versions", - "GET /user/public_emails", - "GET /user/repos", - "GET /user/repository_invitations", - "GET /user/social_accounts", - "GET /user/ssh_signing_keys", - "GET /user/starred", - "GET /user/subscriptions", - "GET /user/teams", - "GET /users", - "GET /users/{username}/events", - "GET /users/{username}/events/orgs/{org}", - "GET /users/{username}/events/public", - "GET /users/{username}/followers", - "GET /users/{username}/following", - "GET /users/{username}/gists", - "GET /users/{username}/gpg_keys", - "GET /users/{username}/keys", - "GET /users/{username}/orgs", - "GET /users/{username}/packages", - "GET /users/{username}/projects", - "GET /users/{username}/received_events", - "GET /users/{username}/received_events/public", - "GET /users/{username}/repos", - "GET /users/{username}/social_accounts", - "GET /users/{username}/ssh_signing_keys", - "GET /users/{username}/starred", - "GET /users/{username}/subscriptions" -]; - -// pkg/dist-src/paginating-endpoints.js -function isPaginatingEndpoint(arg) { - if (typeof arg === "string") { - return paginatingEndpoints.includes(arg); - } else { - return false; - } -} - -// pkg/dist-src/index.js -function paginateRest(octokit) { - return { - paginate: Object.assign(paginate.bind(null, octokit), { - iterator: iterator.bind(null, octokit) - }) - }; -} -paginateRest.VERSION = VERSION; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - composePaginateRest, - isPaginatingEndpoint, - paginateRest, - paginatingEndpoints -}); diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map deleted file mode 100644 index 5758ada..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/normalize-paginated-list-response.js", "../dist-src/iterator.js", "../dist-src/paginate.js", "../dist-src/compose-paginate.js", "../dist-src/generated/paginating-endpoints.js", "../dist-src/paginating-endpoints.js"], - "sourcesContent": ["import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nimport { composePaginateRest } from \"./compose-paginate\";\nimport {\n isPaginatingEndpoint,\n paginatingEndpoints\n} from \"./paginating-endpoints\";\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", "const VERSION = \"9.0.0\";\nexport {\n VERSION\n};\n", "function normalizePaginatedListResponse(response) {\n if (!response.data) {\n return {\n ...response,\n data: []\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\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 return response;\n}\nexport {\n normalizePaginatedListResponse\n};\n", "import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\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)\n 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 return { value: normalizedResponse };\n } catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n })\n };\n}\nexport {\n iterator\n};\n", "import { iterator } from \"./iterator\";\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}\nexport {\n paginate\n};\n", "import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\nexport {\n composePaginateRest\n};\n", "const 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}/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/permissions/repositories\",\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}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\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}/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}/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}/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}/projects\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/rulesets\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/security-advisories\",\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}/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}/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}/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}/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}/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 /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables\",\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}/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];\nexport {\n paginatingEndpoints\n};\n", "import {\n paginatingEndpoints\n} from \"./generated/paginating-endpoints\";\nimport { paginatingEndpoints as paginatingEndpoints2 } from \"./generated/paginating-endpoints\";\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\nexport {\n isPaginatingEndpoint,\n paginatingEndpoints2 as paginatingEndpoints\n};\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,UAAU;;;ACAhB,SAAS,+BAA+B,UAAU;AAChD,MAAI,CAAC,SAAS,MAAM;AAClB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,MAAM,CAAC;AAAA,IACT;AAAA,EACF;AACA,QAAM,6BAA6B,iBAAiB,SAAS,QAAQ,EAAE,SAAS,SAAS;AACzF,MAAI,CAAC;AACH,WAAO;AACT,QAAM,oBAAoB,SAAS,KAAK;AACxC,QAAM,sBAAsB,SAAS,KAAK;AAC1C,QAAM,aAAa,SAAS,KAAK;AACjC,SAAO,SAAS,KAAK;AACrB,SAAO,SAAS,KAAK;AACrB,SAAO,SAAS,KAAK;AACrB,QAAM,eAAe,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC;AACjD,QAAM,OAAO,SAAS,KAAK,YAAY;AACvC,WAAS,OAAO;AAChB,MAAI,OAAO,sBAAsB,aAAa;AAC5C,aAAS,KAAK,qBAAqB;AAAA,EACrC;AACA,MAAI,OAAO,wBAAwB,aAAa;AAC9C,aAAS,KAAK,uBAAuB;AAAA,EACvC;AACA,WAAS,KAAK,cAAc;AAC5B,SAAO;AACT;;;AC1BA,SAAS,SAAS,SAAS,OAAO,YAAY;AAC5C,QAAM,UAAU,OAAO,UAAU,aAAa,MAAM,SAAS,UAAU,IAAI,QAAQ,QAAQ,SAAS,OAAO,UAAU;AACrH,QAAM,gBAAgB,OAAO,UAAU,aAAa,QAAQ,QAAQ;AACpE,QAAM,SAAS,QAAQ;AACvB,QAAM,UAAU,QAAQ;AACxB,MAAI,MAAM,QAAQ;AAClB,SAAO;AAAA,IACL,CAAC,OAAO,aAAa,GAAG,OAAO;AAAA,MAC7B,MAAM,OAAO;AACX,YAAI,CAAC;AACH,iBAAO,EAAE,MAAM,KAAK;AACtB,YAAI;AACF,gBAAM,WAAW,MAAM,cAAc,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAC7D,gBAAM,qBAAqB,+BAA+B,QAAQ;AAClE,kBAAQ,mBAAmB,QAAQ,QAAQ,IAAI;AAAA,YAC7C;AAAA,UACF,KAAK,CAAC,GAAG,CAAC;AACV,iBAAO,EAAE,OAAO,mBAAmB;AAAA,QACrC,SAAS,OAAO;AACd,cAAI,MAAM,WAAW;AACnB,kBAAM;AACR,gBAAM;AACN,iBAAO;AAAA,YACL,OAAO;AAAA,cACL,QAAQ;AAAA,cACR,SAAS,CAAC;AAAA,cACV,MAAM,CAAC;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACjCA,SAAS,SAAS,SAAS,OAAO,YAAY,OAAO;AACnD,MAAI,OAAO,eAAe,YAAY;AACpC,YAAQ;AACR,iBAAa;AAAA,EACf;AACA,SAAO;AAAA,IACL;AAAA,IACA,CAAC;AAAA,IACD,SAAS,SAAS,OAAO,UAAU,EAAE,OAAO,aAAa,EAAE;AAAA,IAC3D;AAAA,EACF;AACF;AACA,SAAS,OAAO,SAAS,SAAS,WAAW,OAAO;AAClD,SAAO,UAAU,KAAK,EAAE,KAAK,CAAC,WAAW;AACvC,QAAI,OAAO,MAAM;AACf,aAAO;AAAA,IACT;AACA,QAAI,YAAY;AAChB,aAAS,OAAO;AACd,kBAAY;AAAA,IACd;AACA,cAAU,QAAQ;AAAA,MAChB,QAAQ,MAAM,OAAO,OAAO,IAAI,IAAI,OAAO,MAAM;AAAA,IACnD;AACA,QAAI,WAAW;AACb,aAAO;AAAA,IACT;AACA,WAAO,OAAO,SAAS,SAAS,WAAW,KAAK;AAAA,EAClD,CAAC;AACH;;;AC5BA,IAAM,sBAAsB,OAAO,OAAO,UAAU;AAAA,EAClD;AACF,CAAC;;;ACJD,IAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AClOA,SAAS,qBAAqB,KAAK;AACjC,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO,oBAAoB,SAAS,GAAG;AAAA,EACzC,OAAO;AACL,WAAO;AAAA,EACT;AACF;;;APFA,SAAS,aAAa,SAAS;AAC7B,SAAO;AAAA,IACL,UAAU,OAAO,OAAO,SAAS,KAAK,MAAM,OAAO,GAAG;AAAA,MACpD,UAAU,SAAS,KAAK,MAAM,OAAO;AAAA,IACvC,CAAC;AAAA,EACH;AACF;AACA,aAAa,UAAU;", - "names": [] -} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js deleted file mode 100644 index 9ea093a..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/compose-paginate.js +++ /dev/null @@ -1,8 +0,0 @@ -import { paginate } from "./paginate"; -import { iterator } from "./iterator"; -const composePaginateRest = Object.assign(paginate, { - iterator -}); -export { - composePaginateRest -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js deleted file mode 100644 index 1cd7866..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/generated/paginating-endpoints.js +++ /dev/null @@ -1,234 +0,0 @@ -const paginatingEndpoints = [ - "GET /advisories", - "GET /app/hook/deliveries", - "GET /app/installation-requests", - "GET /app/installations", - "GET /assignments/{assignment_id}/accepted_assignments", - "GET /classrooms", - "GET /classrooms/{classroom_id}/assignments", - "GET /enterprises/{enterprise}/dependabot/alerts", - "GET /enterprises/{enterprise}/secret-scanning/alerts", - "GET /events", - "GET /gists", - "GET /gists/public", - "GET /gists/starred", - "GET /gists/{gist_id}/comments", - "GET /gists/{gist_id}/commits", - "GET /gists/{gist_id}/forks", - "GET /installation/repositories", - "GET /issues", - "GET /licenses", - "GET /marketplace_listing/plans", - "GET /marketplace_listing/plans/{plan_id}/accounts", - "GET /marketplace_listing/stubbed/plans", - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", - "GET /networks/{owner}/{repo}/events", - "GET /notifications", - "GET /organizations", - "GET /orgs/{org}/actions/cache/usage-by-repository", - "GET /orgs/{org}/actions/permissions/repositories", - "GET /orgs/{org}/actions/runners", - "GET /orgs/{org}/actions/secrets", - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", - "GET /orgs/{org}/actions/variables", - "GET /orgs/{org}/actions/variables/{name}/repositories", - "GET /orgs/{org}/blocks", - "GET /orgs/{org}/code-scanning/alerts", - "GET /orgs/{org}/codespaces", - "GET /orgs/{org}/codespaces/secrets", - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", - "GET /orgs/{org}/copilot/billing/seats", - "GET /orgs/{org}/dependabot/alerts", - "GET /orgs/{org}/dependabot/secrets", - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", - "GET /orgs/{org}/events", - "GET /orgs/{org}/failed_invitations", - "GET /orgs/{org}/hooks", - "GET /orgs/{org}/hooks/{hook_id}/deliveries", - "GET /orgs/{org}/installations", - "GET /orgs/{org}/invitations", - "GET /orgs/{org}/invitations/{invitation_id}/teams", - "GET /orgs/{org}/issues", - "GET /orgs/{org}/members", - "GET /orgs/{org}/members/{username}/codespaces", - "GET /orgs/{org}/migrations", - "GET /orgs/{org}/migrations/{migration_id}/repositories", - "GET /orgs/{org}/outside_collaborators", - "GET /orgs/{org}/packages", - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", - "GET /orgs/{org}/personal-access-token-requests", - "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", - "GET /orgs/{org}/personal-access-tokens", - "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", - "GET /orgs/{org}/projects", - "GET /orgs/{org}/public_members", - "GET /orgs/{org}/repos", - "GET /orgs/{org}/rulesets", - "GET /orgs/{org}/secret-scanning/alerts", - "GET /orgs/{org}/security-advisories", - "GET /orgs/{org}/teams", - "GET /orgs/{org}/teams/{team_slug}/discussions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/invitations", - "GET /orgs/{org}/teams/{team_slug}/members", - "GET /orgs/{org}/teams/{team_slug}/projects", - "GET /orgs/{org}/teams/{team_slug}/repos", - "GET /orgs/{org}/teams/{team_slug}/teams", - "GET /projects/columns/{column_id}/cards", - "GET /projects/{project_id}/collaborators", - "GET /projects/{project_id}/columns", - "GET /repos/{owner}/{repo}/actions/artifacts", - "GET /repos/{owner}/{repo}/actions/caches", - "GET /repos/{owner}/{repo}/actions/organization-secrets", - "GET /repos/{owner}/{repo}/actions/organization-variables", - "GET /repos/{owner}/{repo}/actions/runners", - "GET /repos/{owner}/{repo}/actions/runs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", - "GET /repos/{owner}/{repo}/actions/secrets", - "GET /repos/{owner}/{repo}/actions/variables", - "GET /repos/{owner}/{repo}/actions/workflows", - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", - "GET /repos/{owner}/{repo}/activity", - "GET /repos/{owner}/{repo}/assignees", - "GET /repos/{owner}/{repo}/branches", - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", - "GET /repos/{owner}/{repo}/code-scanning/alerts", - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", - "GET /repos/{owner}/{repo}/code-scanning/analyses", - "GET /repos/{owner}/{repo}/codespaces", - "GET /repos/{owner}/{repo}/codespaces/devcontainers", - "GET /repos/{owner}/{repo}/codespaces/secrets", - "GET /repos/{owner}/{repo}/collaborators", - "GET /repos/{owner}/{repo}/comments", - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/commits", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", - "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", - "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", - "GET /repos/{owner}/{repo}/commits/{ref}/status", - "GET /repos/{owner}/{repo}/commits/{ref}/statuses", - "GET /repos/{owner}/{repo}/contributors", - "GET /repos/{owner}/{repo}/dependabot/alerts", - "GET /repos/{owner}/{repo}/dependabot/secrets", - "GET /repos/{owner}/{repo}/deployments", - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", - "GET /repos/{owner}/{repo}/environments", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", - "GET /repos/{owner}/{repo}/events", - "GET /repos/{owner}/{repo}/forks", - "GET /repos/{owner}/{repo}/hooks", - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", - "GET /repos/{owner}/{repo}/invitations", - "GET /repos/{owner}/{repo}/issues", - "GET /repos/{owner}/{repo}/issues/comments", - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/issues/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", - "GET /repos/{owner}/{repo}/issues/{issue_number}/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", - "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", - "GET /repos/{owner}/{repo}/keys", - "GET /repos/{owner}/{repo}/labels", - "GET /repos/{owner}/{repo}/milestones", - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", - "GET /repos/{owner}/{repo}/notifications", - "GET /repos/{owner}/{repo}/pages/builds", - "GET /repos/{owner}/{repo}/projects", - "GET /repos/{owner}/{repo}/pulls", - "GET /repos/{owner}/{repo}/pulls/comments", - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", - "GET /repos/{owner}/{repo}/releases", - "GET /repos/{owner}/{repo}/releases/{release_id}/assets", - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", - "GET /repos/{owner}/{repo}/rules/branches/{branch}", - "GET /repos/{owner}/{repo}/rulesets", - "GET /repos/{owner}/{repo}/secret-scanning/alerts", - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", - "GET /repos/{owner}/{repo}/security-advisories", - "GET /repos/{owner}/{repo}/stargazers", - "GET /repos/{owner}/{repo}/subscribers", - "GET /repos/{owner}/{repo}/tags", - "GET /repos/{owner}/{repo}/teams", - "GET /repos/{owner}/{repo}/topics", - "GET /repositories", - "GET /repositories/{repository_id}/environments/{environment_name}/secrets", - "GET /repositories/{repository_id}/environments/{environment_name}/variables", - "GET /search/code", - "GET /search/commits", - "GET /search/issues", - "GET /search/labels", - "GET /search/repositories", - "GET /search/topics", - "GET /search/users", - "GET /teams/{team_id}/discussions", - "GET /teams/{team_id}/discussions/{discussion_number}/comments", - "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /teams/{team_id}/discussions/{discussion_number}/reactions", - "GET /teams/{team_id}/invitations", - "GET /teams/{team_id}/members", - "GET /teams/{team_id}/projects", - "GET /teams/{team_id}/repos", - "GET /teams/{team_id}/teams", - "GET /user/blocks", - "GET /user/codespaces", - "GET /user/codespaces/secrets", - "GET /user/emails", - "GET /user/followers", - "GET /user/following", - "GET /user/gpg_keys", - "GET /user/installations", - "GET /user/installations/{installation_id}/repositories", - "GET /user/issues", - "GET /user/keys", - "GET /user/marketplace_purchases", - "GET /user/marketplace_purchases/stubbed", - "GET /user/memberships/orgs", - "GET /user/migrations", - "GET /user/migrations/{migration_id}/repositories", - "GET /user/orgs", - "GET /user/packages", - "GET /user/packages/{package_type}/{package_name}/versions", - "GET /user/public_emails", - "GET /user/repos", - "GET /user/repository_invitations", - "GET /user/social_accounts", - "GET /user/ssh_signing_keys", - "GET /user/starred", - "GET /user/subscriptions", - "GET /user/teams", - "GET /users", - "GET /users/{username}/events", - "GET /users/{username}/events/orgs/{org}", - "GET /users/{username}/events/public", - "GET /users/{username}/followers", - "GET /users/{username}/following", - "GET /users/{username}/gists", - "GET /users/{username}/gpg_keys", - "GET /users/{username}/keys", - "GET /users/{username}/orgs", - "GET /users/{username}/packages", - "GET /users/{username}/projects", - "GET /users/{username}/received_events", - "GET /users/{username}/received_events/public", - "GET /users/{username}/repos", - "GET /users/{username}/social_accounts", - "GET /users/{username}/ssh_signing_keys", - "GET /users/{username}/starred", - "GET /users/{username}/subscriptions" -]; -export { - paginatingEndpoints -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js deleted file mode 100644 index 6066dec..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/index.js +++ /dev/null @@ -1,22 +0,0 @@ -import { VERSION } from "./version"; -import { paginate } from "./paginate"; -import { iterator } from "./iterator"; -import { composePaginateRest } from "./compose-paginate"; -import { - isPaginatingEndpoint, - paginatingEndpoints -} from "./paginating-endpoints"; -function paginateRest(octokit) { - return { - paginate: Object.assign(paginate.bind(null, octokit), { - iterator: iterator.bind(null, octokit) - }) - }; -} -paginateRest.VERSION = VERSION; -export { - composePaginateRest, - isPaginatingEndpoint, - paginateRest, - paginatingEndpoints -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js deleted file mode 100644 index 2bd96f8..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/iterator.js +++ /dev/null @@ -1,38 +0,0 @@ -import { normalizePaginatedListResponse } from "./normalize-paginated-list-response"; -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]; - return { value: normalizedResponse }; - } catch (error) { - if (error.status !== 409) - throw error; - url = ""; - return { - value: { - status: 200, - headers: {}, - data: [] - } - }; - } - } - }) - }; -} -export { - iterator -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js deleted file mode 100644 index c1dd744..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/normalize-paginated-list-response.js +++ /dev/null @@ -1,31 +0,0 @@ -function normalizePaginatedListResponse(response) { - if (!response.data) { - return { - ...response, - data: [] - }; - } - const responseNeedsNormalization = "total_count" 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; - delete response.data.incomplete_results; - delete response.data.repository_selection; - delete response.data.total_count; - 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; - return response; -} -export { - normalizePaginatedListResponse -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js deleted file mode 100644 index 49d93c1..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/paginate.js +++ /dev/null @@ -1,34 +0,0 @@ -import { iterator } from "./iterator"; -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); - }); -} -export { - paginate -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js deleted file mode 100644 index 312b32c..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/paginating-endpoints.js +++ /dev/null @@ -1,15 +0,0 @@ -import { - paginatingEndpoints -} from "./generated/paginating-endpoints"; -import { paginatingEndpoints as paginatingEndpoints2 } from "./generated/paginating-endpoints"; -function isPaginatingEndpoint(arg) { - if (typeof arg === "string") { - return paginatingEndpoints.includes(arg); - } else { - return false; - } -} -export { - isPaginatingEndpoint, - paginatingEndpoints2 as paginatingEndpoints -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js b/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js deleted file mode 100644 index cf1bec1..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "9.0.0"; -export { - VERSION -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts deleted file mode 100644 index 6eaca43..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/compose-paginate.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { ComposePaginateInterface } from "./types"; -export declare const composePaginateRest: ComposePaginateInterface; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts deleted file mode 100644 index 638fde7..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/generated/paginating-endpoints.d.ts +++ /dev/null @@ -1,1715 +0,0 @@ -import type { Endpoints } from "@octokit/types"; -export interface PaginatingEndpoints { - /** - * @see https://docs.github.com/rest/security-advisories/global-advisories#list-global-security-advisories - */ - "GET /advisories": { - parameters: Endpoints["GET /advisories"]["parameters"]; - response: Endpoints["GET /advisories"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/webhooks#list-deliveries-for-an-app-webhook - */ - "GET /app/hook/deliveries": { - parameters: Endpoints["GET /app/hook/deliveries"]["parameters"]; - response: Endpoints["GET /app/hook/deliveries"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/apps#list-installation-requests-for-the-authenticated-app - */ - "GET /app/installation-requests": { - parameters: Endpoints["GET /app/installation-requests"]["parameters"]; - response: Endpoints["GET /app/installation-requests"]["response"]; - }; - /** - * @see https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-for-the-authenticated-app - */ - "GET /app/installations": { - parameters: Endpoints["GET /app/installations"]["parameters"]; - response: Endpoints["GET /app/installations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/classroom/classroom#list-accepted-assignments-for-an-assignment - */ - "GET /assignments/{assignment_id}/accepted_assignments": { - parameters: Endpoints["GET /assignments/{assignment_id}/accepted_assignments"]["parameters"]; - response: Endpoints["GET /assignments/{assignment_id}/accepted_assignments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/classroom/classroom#list-classrooms - */ - "GET /classrooms": { - parameters: Endpoints["GET /classrooms"]["parameters"]; - response: Endpoints["GET /classrooms"]["response"]; - }; - /** - * @see https://docs.github.com/rest/classroom/classroom#list-assignments-for-a-classroom - */ - "GET /classrooms/{classroom_id}/assignments": { - parameters: Endpoints["GET /classrooms/{classroom_id}/assignments"]["parameters"]; - response: Endpoints["GET /classrooms/{classroom_id}/assignments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-enterprise - */ - "GET /enterprises/{enterprise}/dependabot/alerts": { - parameters: Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["parameters"]; - response: Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-enterprise - */ - "GET /enterprises/{enterprise}/secret-scanning/alerts": { - parameters: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["parameters"]; - response: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/events#list-public-events - */ - "GET /events": { - parameters: Endpoints["GET /events"]["parameters"]; - response: Endpoints["GET /events"]["response"]; - }; - /** - * @see https://docs.github.com/rest/gists/gists#list-gists-for-the-authenticated-user - */ - "GET /gists": { - parameters: Endpoints["GET /gists"]["parameters"]; - response: Endpoints["GET /gists"]["response"]; - }; - /** - * @see https://docs.github.com/rest/gists/gists#list-public-gists - */ - "GET /gists/public": { - parameters: Endpoints["GET /gists/public"]["parameters"]; - response: Endpoints["GET /gists/public"]["response"]; - }; - /** - * @see https://docs.github.com/rest/gists/gists#list-starred-gists - */ - "GET /gists/starred": { - parameters: Endpoints["GET /gists/starred"]["parameters"]; - response: Endpoints["GET /gists/starred"]["response"]; - }; - /** - * @see https://docs.github.com/rest/gists/comments#list-gist-comments - */ - "GET /gists/{gist_id}/comments": { - parameters: Endpoints["GET /gists/{gist_id}/comments"]["parameters"]; - response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/gists/gists#list-gist-commits - */ - "GET /gists/{gist_id}/commits": { - parameters: Endpoints["GET /gists/{gist_id}/commits"]["parameters"]; - response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; - }; - /** - * @see https://docs.github.com/rest/gists/gists#list-gist-forks - */ - "GET /gists/{gist_id}/forks": { - parameters: Endpoints["GET /gists/{gist_id}/forks"]["parameters"]; - response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-app-installation - */ - "GET /installation/repositories": { - parameters: Endpoints["GET /installation/repositories"]["parameters"]; - response: Endpoints["GET /installation/repositories"]["response"] & { - data: Endpoints["GET /installation/repositories"]["response"]["data"]["repositories"]; - }; - }; - /** - * @see https://docs.github.com/rest/issues/issues#list-issues-assigned-to-the-authenticated-user - */ - "GET /issues": { - parameters: Endpoints["GET /issues"]["parameters"]; - response: Endpoints["GET /issues"]["response"]; - }; - /** - * @see https://docs.github.com/rest/licenses/licenses#get-all-commonly-used-licenses - */ - "GET /licenses": { - parameters: Endpoints["GET /licenses"]["parameters"]; - response: Endpoints["GET /licenses"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-plans - */ - "GET /marketplace_listing/plans": { - parameters: Endpoints["GET /marketplace_listing/plans"]["parameters"]; - response: Endpoints["GET /marketplace_listing/plans"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan - */ - "GET /marketplace_listing/plans/{plan_id}/accounts": { - parameters: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["parameters"]; - response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-plans-stubbed - */ - "GET /marketplace_listing/stubbed/plans": { - parameters: Endpoints["GET /marketplace_listing/stubbed/plans"]["parameters"]; - response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan-stubbed - */ - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": { - parameters: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["parameters"]; - response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories - */ - "GET /networks/{owner}/{repo}/events": { - parameters: Endpoints["GET /networks/{owner}/{repo}/events"]["parameters"]; - response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user - */ - "GET /notifications": { - parameters: Endpoints["GET /notifications"]["parameters"]; - response: Endpoints["GET /notifications"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-organizations - */ - "GET /organizations": { - parameters: Endpoints["GET /organizations"]["parameters"]; - response: Endpoints["GET /organizations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization - */ - "GET /orgs/{org}/actions/cache/usage-by-repository": { - parameters: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["parameters"]; - response: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"] & { - data: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"]["data"]["repository_cache_usages"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization - */ - "GET /orgs/{org}/actions/permissions/repositories": { - parameters: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["parameters"]; - response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"] & { - data: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]["data"]["repositories"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization - */ - "GET /orgs/{org}/actions/runners": { - parameters: Endpoints["GET /orgs/{org}/actions/runners"]["parameters"]; - response: Endpoints["GET /orgs/{org}/actions/runners"]["response"] & { - data: Endpoints["GET /orgs/{org}/actions/runners"]["response"]["data"]["runners"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/secrets#list-organization-secrets - */ - "GET /orgs/{org}/actions/secrets": { - parameters: Endpoints["GET /orgs/{org}/actions/secrets"]["parameters"]; - response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"] & { - data: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]["data"]["secrets"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret - */ - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": { - parameters: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["parameters"]; - response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"] & { - data: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/variables#list-organization-variables - */ - "GET /orgs/{org}/actions/variables": { - parameters: Endpoints["GET /orgs/{org}/actions/variables"]["parameters"]; - response: Endpoints["GET /orgs/{org}/actions/variables"]["response"] & { - data: Endpoints["GET /orgs/{org}/actions/variables"]["response"]["data"]["variables"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/variables#list-selected-repositories-for-an-organization-variable - */ - "GET /orgs/{org}/actions/variables/{name}/repositories": { - parameters: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["parameters"]; - response: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["response"] & { - data: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["response"]["data"]["repositories"]; - }; - }; - /** - * @see https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization - */ - "GET /orgs/{org}/blocks": { - parameters: Endpoints["GET /orgs/{org}/blocks"]["parameters"]; - response: Endpoints["GET /orgs/{org}/blocks"]["response"]; - }; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-an-organization - */ - "GET /orgs/{org}/code-scanning/alerts": { - parameters: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["parameters"]; - response: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization - */ - "GET /orgs/{org}/codespaces": { - parameters: Endpoints["GET /orgs/{org}/codespaces"]["parameters"]; - response: Endpoints["GET /orgs/{org}/codespaces"]["response"] & { - data: Endpoints["GET /orgs/{org}/codespaces"]["response"]["data"]["codespaces"]; - }; - }; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#list-organization-secrets - */ - "GET /orgs/{org}/codespaces/secrets": { - parameters: Endpoints["GET /orgs/{org}/codespaces/secrets"]["parameters"]; - response: Endpoints["GET /orgs/{org}/codespaces/secrets"]["response"] & { - data: Endpoints["GET /orgs/{org}/codespaces/secrets"]["response"]["data"]["secrets"]; - }; - }; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret - */ - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories": { - parameters: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["parameters"]; - response: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"] & { - data: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; - }; - }; - /** - * @see https://docs.github.com/rest/copilot/copilot-for-business#list-all-copilot-for-business-seat-assignments-for-an-organization - */ - "GET /orgs/{org}/copilot/billing/seats": { - parameters: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["parameters"]; - response: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["response"] & { - data: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["response"]["data"]["seats"]; - }; - }; - /** - * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-organization - */ - "GET /orgs/{org}/dependabot/alerts": { - parameters: Endpoints["GET /orgs/{org}/dependabot/alerts"]["parameters"]; - response: Endpoints["GET /orgs/{org}/dependabot/alerts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/dependabot/secrets#list-organization-secrets - */ - "GET /orgs/{org}/dependabot/secrets": { - parameters: Endpoints["GET /orgs/{org}/dependabot/secrets"]["parameters"]; - response: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"] & { - data: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"]["data"]["secrets"]; - }; - }; - /** - * @see https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret - */ - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": { - parameters: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["parameters"]; - response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"] & { - data: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]["data"]["repositories"]; - }; - }; - /** - * @see https://docs.github.com/rest/activity/events#list-public-organization-events - */ - "GET /orgs/{org}/events": { - parameters: Endpoints["GET /orgs/{org}/events"]["parameters"]; - response: Endpoints["GET /orgs/{org}/events"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/members#list-failed-organization-invitations - */ - "GET /orgs/{org}/failed_invitations": { - parameters: Endpoints["GET /orgs/{org}/failed_invitations"]["parameters"]; - response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/webhooks#list-organization-webhooks - */ - "GET /orgs/{org}/hooks": { - parameters: Endpoints["GET /orgs/{org}/hooks"]["parameters"]; - response: Endpoints["GET /orgs/{org}/hooks"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook - */ - "GET /orgs/{org}/hooks/{hook_id}/deliveries": { - parameters: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["parameters"]; - response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization - */ - "GET /orgs/{org}/installations": { - parameters: Endpoints["GET /orgs/{org}/installations"]["parameters"]; - response: Endpoints["GET /orgs/{org}/installations"]["response"] & { - data: Endpoints["GET /orgs/{org}/installations"]["response"]["data"]["installations"]; - }; - }; - /** - * @see https://docs.github.com/rest/orgs/members#list-pending-organization-invitations - */ - "GET /orgs/{org}/invitations": { - parameters: Endpoints["GET /orgs/{org}/invitations"]["parameters"]; - response: Endpoints["GET /orgs/{org}/invitations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/members#list-organization-invitation-teams - */ - "GET /orgs/{org}/invitations/{invitation_id}/teams": { - parameters: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["parameters"]; - response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user - */ - "GET /orgs/{org}/issues": { - parameters: Endpoints["GET /orgs/{org}/issues"]["parameters"]; - response: Endpoints["GET /orgs/{org}/issues"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/members#list-organization-members - */ - "GET /orgs/{org}/members": { - parameters: Endpoints["GET /orgs/{org}/members"]["parameters"]; - response: Endpoints["GET /orgs/{org}/members"]["response"]; - }; - /** - * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-a-user-in-organization - */ - "GET /orgs/{org}/members/{username}/codespaces": { - parameters: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["parameters"]; - response: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["response"] & { - data: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["response"]["data"]["codespaces"]; - }; - }; - /** - * @see https://docs.github.com/rest/migrations/orgs#list-organization-migrations - */ - "GET /orgs/{org}/migrations": { - parameters: Endpoints["GET /orgs/{org}/migrations"]["parameters"]; - response: Endpoints["GET /orgs/{org}/migrations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/migrations/orgs#list-repositories-in-an-organization-migration - */ - "GET /orgs/{org}/migrations/{migration_id}/repositories": { - parameters: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["parameters"]; - response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/outside-collaborators#list-outside-collaborators-for-an-organization - */ - "GET /orgs/{org}/outside_collaborators": { - parameters: Endpoints["GET /orgs/{org}/outside_collaborators"]["parameters"]; - response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; - }; - /** - * @see https://docs.github.com/rest/packages/packages#list-packages-for-an-organization - */ - "GET /orgs/{org}/packages": { - parameters: Endpoints["GET /orgs/{org}/packages"]["parameters"]; - response: Endpoints["GET /orgs/{org}/packages"]["response"]; - }; - /** - * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-an-organization - */ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": { - parameters: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["parameters"]; - response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens - */ - "GET /orgs/{org}/personal-access-token-requests": { - parameters: Endpoints["GET /orgs/{org}/personal-access-token-requests"]["parameters"]; - response: Endpoints["GET /orgs/{org}/personal-access-token-requests"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token - */ - "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { - parameters: Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["parameters"]; - response: Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources - */ - "GET /orgs/{org}/personal-access-tokens": { - parameters: Endpoints["GET /orgs/{org}/personal-access-tokens"]["parameters"]; - response: Endpoints["GET /orgs/{org}/personal-access-tokens"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to - */ - "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories": { - parameters: Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["parameters"]; - response: Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["response"]; - }; - /** - * @see https://docs.github.com/rest/projects/projects#list-organization-projects - */ - "GET /orgs/{org}/projects": { - parameters: Endpoints["GET /orgs/{org}/projects"]["parameters"]; - response: Endpoints["GET /orgs/{org}/projects"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/members#list-public-organization-members - */ - "GET /orgs/{org}/public_members": { - parameters: Endpoints["GET /orgs/{org}/public_members"]["parameters"]; - response: Endpoints["GET /orgs/{org}/public_members"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/repos#list-organization-repositories - */ - "GET /orgs/{org}/repos": { - parameters: Endpoints["GET /orgs/{org}/repos"]["parameters"]; - response: Endpoints["GET /orgs/{org}/repos"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/rules#get-all-organization-repository-rulesets - */ - "GET /orgs/{org}/rulesets": { - parameters: Endpoints["GET /orgs/{org}/rulesets"]["parameters"]; - response: Endpoints["GET /orgs/{org}/rulesets"]["response"]; - }; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-organization - */ - "GET /orgs/{org}/secret-scanning/alerts": { - parameters: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["parameters"]; - response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories-for-an-organization - */ - "GET /orgs/{org}/security-advisories": { - parameters: Endpoints["GET /orgs/{org}/security-advisories"]["parameters"]; - response: Endpoints["GET /orgs/{org}/security-advisories"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/teams#list-teams - */ - "GET /orgs/{org}/teams": { - parameters: Endpoints["GET /orgs/{org}/teams"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/discussions#list-discussions - */ - "GET /orgs/{org}/teams/{team_slug}/discussions": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments - */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment - */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion - */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations - */ - "GET /orgs/{org}/teams/{team_slug}/invitations": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/members#list-team-members - */ - "GET /orgs/{org}/teams/{team_slug}/members": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/teams#list-team-projects - */ - "GET /orgs/{org}/teams/{team_slug}/projects": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/teams#list-team-repositories - */ - "GET /orgs/{org}/teams/{team_slug}/repos": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/teams#list-child-teams - */ - "GET /orgs/{org}/teams/{team_slug}/teams": { - parameters: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["parameters"]; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; - }; - /** - * @see https://docs.github.com/rest/projects/cards#list-project-cards - */ - "GET /projects/columns/{column_id}/cards": { - parameters: Endpoints["GET /projects/columns/{column_id}/cards"]["parameters"]; - response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; - }; - /** - * @see https://docs.github.com/rest/projects/collaborators#list-project-collaborators - */ - "GET /projects/{project_id}/collaborators": { - parameters: Endpoints["GET /projects/{project_id}/collaborators"]["parameters"]; - response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; - }; - /** - * @see https://docs.github.com/rest/projects/columns#list-project-columns - */ - "GET /projects/{project_id}/columns": { - parameters: Endpoints["GET /projects/{project_id}/columns"]["parameters"]; - response: Endpoints["GET /projects/{project_id}/columns"]["response"]; - }; - /** - * @see https://docs.github.com/rest/actions/artifacts#list-artifacts-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/artifacts": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]["data"]["artifacts"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/caches": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"]["data"]["actions_caches"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/secrets#list-repository-organization-secrets - */ - "GET /repos/{owner}/{repo}/actions/organization-secrets": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["response"]["data"]["secrets"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/variables#list-repository-organization-variables - */ - "GET /repos/{owner}/{repo}/actions/organization-variables": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["response"]["data"]["variables"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/runners": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]["data"]["runners"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/runs": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]["data"]["workflow_runs"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/artifacts#list-workflow-run-artifacts - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]["data"]["artifacts"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]["data"]["jobs"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]["data"]["jobs"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/secrets#list-repository-secrets - */ - "GET /repos/{owner}/{repo}/actions/secrets": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]["data"]["secrets"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/variables#list-repository-variables - */ - "GET /repos/{owner}/{repo}/actions/variables": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["response"]["data"]["variables"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/workflows#list-repository-workflows - */ - "GET /repos/{owner}/{repo}/actions/workflows": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]["data"]["workflows"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow - */ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { - parameters: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]["data"]["workflow_runs"]; - }; - }; - /** - * @see https://docs.github.com/rest/repos/repos#list-repository-activities - */ - "GET /repos/{owner}/{repo}/activity": { - parameters: Endpoints["GET /repos/{owner}/{repo}/activity"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/activity"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/assignees#list-assignees - */ - "GET /repos/{owner}/{repo}/assignees": { - parameters: Endpoints["GET /repos/{owner}/{repo}/assignees"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; - }; - /** - * @see https://docs.github.com/rest/branches/branches#list-branches - */ - "GET /repos/{owner}/{repo}/branches": { - parameters: Endpoints["GET /repos/{owner}/{repo}/branches"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; - }; - /** - * @see https://docs.github.com/rest/checks/runs#list-check-run-annotations - */ - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { - parameters: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/checks/runs#list-check-runs-in-a-check-suite - */ - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { - parameters: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]["data"]["check_runs"]; - }; - }; - /** - * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository - */ - "GET /repos/{owner}/{repo}/code-scanning/alerts": { - parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#list-instances-of-a-code-scanning-alert - */ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { - parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; - }; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-analyses-for-a-repository - */ - "GET /repos/{owner}/{repo}/code-scanning/analyses": { - parameters: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; - }; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user - */ - "GET /repos/{owner}/{repo}/codespaces": { - parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"]["data"]["codespaces"]; - }; - }; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#list-devcontainer-configurations-in-a-repository-for-the-authenticated-user - */ - "GET /repos/{owner}/{repo}/codespaces/devcontainers": { - parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"]["data"]["devcontainers"]; - }; - }; - /** - * @see https://docs.github.com/rest/codespaces/repository-secrets#list-repository-secrets - */ - "GET /repos/{owner}/{repo}/codespaces/secrets": { - parameters: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"]["data"]["secrets"]; - }; - }; - /** - * @see https://docs.github.com/rest/collaborators/collaborators#list-repository-collaborators - */ - "GET /repos/{owner}/{repo}/collaborators": { - parameters: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; - }; - /** - * @see https://docs.github.com/rest/commits/comments#list-commit-comments-for-a-repository - */ - "GET /repos/{owner}/{repo}/comments": { - parameters: Endpoints["GET /repos/{owner}/{repo}/comments"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-commit-comment - */ - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": { - parameters: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/commits/commits#list-commits - */ - "GET /repos/{owner}/{repo}/commits": { - parameters: Endpoints["GET /repos/{owner}/{repo}/commits"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; - }; - /** - * @see https://docs.github.com/rest/commits/comments#list-commit-comments - */ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": { - parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/commits/commits#list-pull-requests-associated-with-a-commit - */ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": { - parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; - }; - /** - * @see https://docs.github.com/rest/checks/runs#list-check-runs-for-a-git-reference - */ - "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": { - parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]["data"]["check_runs"]; - }; - }; - /** - * @see https://docs.github.com/rest/checks/suites#list-check-suites-for-a-git-reference - */ - "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": { - parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]["data"]["check_suites"]; - }; - }; - /** - * @see https://docs.github.com/rest/commits/statuses#get-the-combined-status-for-a-specific-reference - */ - "GET /repos/{owner}/{repo}/commits/{ref}/status": { - parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]["data"]["statuses"]; - }; - }; - /** - * @see https://docs.github.com/rest/commits/statuses#list-commit-statuses-for-a-reference - */ - "GET /repos/{owner}/{repo}/commits/{ref}/statuses": { - parameters: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/repos#list-repository-contributors - */ - "GET /repos/{owner}/{repo}/contributors": { - parameters: Endpoints["GET /repos/{owner}/{repo}/contributors"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; - }; - /** - * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository - */ - "GET /repos/{owner}/{repo}/dependabot/alerts": { - parameters: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/dependabot/secrets#list-repository-secrets - */ - "GET /repos/{owner}/{repo}/dependabot/secrets": { - parameters: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"]["data"]["secrets"]; - }; - }; - /** - * @see https://docs.github.com/rest/deployments/deployments#list-deployments - */ - "GET /repos/{owner}/{repo}/deployments": { - parameters: Endpoints["GET /repos/{owner}/{repo}/deployments"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/deployments/statuses#list-deployment-statuses - */ - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { - parameters: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; - }; - /** - * @see https://docs.github.com/rest/deployments/environments#list-environments - */ - "GET /repos/{owner}/{repo}/environments": { - parameters: Endpoints["GET /repos/{owner}/{repo}/environments"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]["data"]["environments"]; - }; - }; - /** - * @see https://docs.github.com/rest/deployments/branch-policies#list-deployment-branch-policies - */ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { - parameters: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"]["data"]["branch_policies"]; - }; - }; - /** - * @see https://docs.github.com/rest/deployments/protection-rules#list-custom-deployment-rule-integrations-available-for-an-environment - */ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { - parameters: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["response"]["data"]["available_custom_deployment_protection_rule_integrations"]; - }; - }; - /** - * @see https://docs.github.com/rest/activity/events#list-repository-events - */ - "GET /repos/{owner}/{repo}/events": { - parameters: Endpoints["GET /repos/{owner}/{repo}/events"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/forks#list-forks - */ - "GET /repos/{owner}/{repo}/forks": { - parameters: Endpoints["GET /repos/{owner}/{repo}/forks"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; - }; - /** - * @see https://docs.github.com/rest/webhooks/repos#list-repository-webhooks - */ - "GET /repos/{owner}/{repo}/hooks": { - parameters: Endpoints["GET /repos/{owner}/{repo}/hooks"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; - }; - /** - * @see https://docs.github.com/rest/webhooks/repo-deliveries#list-deliveries-for-a-repository-webhook - */ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { - parameters: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; - }; - /** - * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations - */ - "GET /repos/{owner}/{repo}/invitations": { - parameters: Endpoints["GET /repos/{owner}/{repo}/invitations"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/issues#list-repository-issues - */ - "GET /repos/{owner}/{repo}/issues": { - parameters: Endpoints["GET /repos/{owner}/{repo}/issues"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/comments#list-issue-comments-for-a-repository - */ - "GET /repos/{owner}/{repo}/issues/comments": { - parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue-comment - */ - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { - parameters: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/events#list-issue-events-for-a-repository - */ - "GET /repos/{owner}/{repo}/issues/events": { - parameters: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/comments#list-issue-comments - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": { - parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/events#list-issue-events - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/events": { - parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/labels#list-labels-for-an-issue - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": { - parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": { - parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/timeline#list-timeline-events-for-an-issue - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": { - parameters: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; - }; - /** - * @see https://docs.github.com/rest/deploy-keys/deploy-keys#list-deploy-keys - */ - "GET /repos/{owner}/{repo}/keys": { - parameters: Endpoints["GET /repos/{owner}/{repo}/keys"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/labels#list-labels-for-a-repository - */ - "GET /repos/{owner}/{repo}/labels": { - parameters: Endpoints["GET /repos/{owner}/{repo}/labels"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/milestones#list-milestones - */ - "GET /repos/{owner}/{repo}/milestones": { - parameters: Endpoints["GET /repos/{owner}/{repo}/milestones"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; - }; - /** - * @see https://docs.github.com/rest/issues/labels#list-labels-for-issues-in-a-milestone - */ - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": { - parameters: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user - */ - "GET /repos/{owner}/{repo}/notifications": { - parameters: Endpoints["GET /repos/{owner}/{repo}/notifications"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; - }; - /** - * @see https://docs.github.com/rest/pages/pages#list-apiname-pages-builds - */ - "GET /repos/{owner}/{repo}/pages/builds": { - parameters: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; - }; - /** - * @see https://docs.github.com/rest/projects/projects#list-repository-projects - */ - "GET /repos/{owner}/{repo}/projects": { - parameters: Endpoints["GET /repos/{owner}/{repo}/projects"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; - }; - /** - * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests - */ - "GET /repos/{owner}/{repo}/pulls": { - parameters: Endpoints["GET /repos/{owner}/{repo}/pulls"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; - }; - /** - * @see https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository - */ - "GET /repos/{owner}/{repo}/pulls/comments": { - parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-pull-request-review-comment - */ - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { - parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": { - parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": { - parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; - }; - /** - * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests-files - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": { - parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; - }; - /** - * @see https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": { - parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; - }; - /** - * @see https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { - parameters: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/releases/releases#list-releases - */ - "GET /repos/{owner}/{repo}/releases": { - parameters: Endpoints["GET /repos/{owner}/{repo}/releases"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; - }; - /** - * @see https://docs.github.com/rest/releases/assets#list-release-assets - */ - "GET /repos/{owner}/{repo}/releases/{release_id}/assets": { - parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-release - */ - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": { - parameters: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/rules#get-rules-for-a-branch - */ - "GET /repos/{owner}/{repo}/rules/branches/{branch}": { - parameters: Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/rules#get-all-repository-rulesets - */ - "GET /repos/{owner}/{repo}/rulesets": { - parameters: Endpoints["GET /repos/{owner}/{repo}/rulesets"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/rulesets"]["response"]; - }; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-a-repository - */ - "GET /repos/{owner}/{repo}/secret-scanning/alerts": { - parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-locations-for-a-secret-scanning-alert - */ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { - parameters: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories - */ - "GET /repos/{owner}/{repo}/security-advisories": { - parameters: Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/starring#list-stargazers - */ - "GET /repos/{owner}/{repo}/stargazers": { - parameters: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/watching#list-watchers - */ - "GET /repos/{owner}/{repo}/subscribers": { - parameters: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/repos#list-repository-tags - */ - "GET /repos/{owner}/{repo}/tags": { - parameters: Endpoints["GET /repos/{owner}/{repo}/tags"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/repos#list-repository-teams - */ - "GET /repos/{owner}/{repo}/teams": { - parameters: Endpoints["GET /repos/{owner}/{repo}/teams"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/repos#get-all-repository-topics - */ - "GET /repos/{owner}/{repo}/topics": { - parameters: Endpoints["GET /repos/{owner}/{repo}/topics"]["parameters"]; - response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"] & { - data: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]["data"]["names"]; - }; - }; - /** - * @see https://docs.github.com/rest/repos/repos#list-public-repositories - */ - "GET /repositories": { - parameters: Endpoints["GET /repositories"]["parameters"]; - response: Endpoints["GET /repositories"]["response"]; - }; - /** - * @see https://docs.github.com/rest/actions/secrets#list-environment-secrets - */ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets": { - parameters: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["parameters"]; - response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"] & { - data: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]["data"]["secrets"]; - }; - }; - /** - * @see https://docs.github.com/rest/actions/variables#list-environment-variables - */ - "GET /repositories/{repository_id}/environments/{environment_name}/variables": { - parameters: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables"]["parameters"]; - response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables"]["response"] & { - data: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables"]["response"]["data"]["variables"]; - }; - }; - /** - * @see https://docs.github.com/rest/search/search#search-code - */ - "GET /search/code": { - parameters: Endpoints["GET /search/code"]["parameters"]; - response: Endpoints["GET /search/code"]["response"] & { - data: Endpoints["GET /search/code"]["response"]["data"]["items"]; - }; - }; - /** - * @see https://docs.github.com/rest/search/search#search-commits - */ - "GET /search/commits": { - parameters: Endpoints["GET /search/commits"]["parameters"]; - response: Endpoints["GET /search/commits"]["response"] & { - data: Endpoints["GET /search/commits"]["response"]["data"]["items"]; - }; - }; - /** - * @see https://docs.github.com/rest/search/search#search-issues-and-pull-requests - */ - "GET /search/issues": { - parameters: Endpoints["GET /search/issues"]["parameters"]; - response: Endpoints["GET /search/issues"]["response"] & { - data: Endpoints["GET /search/issues"]["response"]["data"]["items"]; - }; - }; - /** - * @see https://docs.github.com/rest/search/search#search-labels - */ - "GET /search/labels": { - parameters: Endpoints["GET /search/labels"]["parameters"]; - response: Endpoints["GET /search/labels"]["response"] & { - data: Endpoints["GET /search/labels"]["response"]["data"]["items"]; - }; - }; - /** - * @see https://docs.github.com/rest/search/search#search-repositories - */ - "GET /search/repositories": { - parameters: Endpoints["GET /search/repositories"]["parameters"]; - response: Endpoints["GET /search/repositories"]["response"] & { - data: Endpoints["GET /search/repositories"]["response"]["data"]["items"]; - }; - }; - /** - * @see https://docs.github.com/rest/search/search#search-topics - */ - "GET /search/topics": { - parameters: Endpoints["GET /search/topics"]["parameters"]; - response: Endpoints["GET /search/topics"]["response"] & { - data: Endpoints["GET /search/topics"]["response"]["data"]["items"]; - }; - }; - /** - * @see https://docs.github.com/rest/search/search#search-users - */ - "GET /search/users": { - parameters: Endpoints["GET /search/users"]["parameters"]; - response: Endpoints["GET /search/users"]["response"] & { - data: Endpoints["GET /search/users"]["response"]["data"]["items"]; - }; - }; - /** - * @see https://docs.github.com/rest/teams/discussions#list-discussions-legacy - */ - "GET /teams/{team_id}/discussions": { - parameters: Endpoints["GET /teams/{team_id}/discussions"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/discussions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments-legacy - */ - "GET /teams/{team_id}/discussions/{discussion_number}/comments": { - parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy - */ - "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy - */ - "GET /teams/{team_id}/discussions/{discussion_number}/reactions": { - parameters: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/discussions/{discussion_number}/reactions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy - */ - "GET /teams/{team_id}/invitations": { - parameters: Endpoints["GET /teams/{team_id}/invitations"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/invitations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/members#list-team-members-legacy - */ - "GET /teams/{team_id}/members": { - parameters: Endpoints["GET /teams/{team_id}/members"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/members"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/teams#list-team-projects-legacy - */ - "GET /teams/{team_id}/projects": { - parameters: Endpoints["GET /teams/{team_id}/projects"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/projects"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/teams#list-team-repositories-legacy - */ - "GET /teams/{team_id}/repos": { - parameters: Endpoints["GET /teams/{team_id}/repos"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/repos"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/teams#list-child-teams-legacy - */ - "GET /teams/{team_id}/teams": { - parameters: Endpoints["GET /teams/{team_id}/teams"]["parameters"]; - response: Endpoints["GET /teams/{team_id}/teams"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user - */ - "GET /user/blocks": { - parameters: Endpoints["GET /user/blocks"]["parameters"]; - response: Endpoints["GET /user/blocks"]["response"]; - }; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-for-the-authenticated-user - */ - "GET /user/codespaces": { - parameters: Endpoints["GET /user/codespaces"]["parameters"]; - response: Endpoints["GET /user/codespaces"]["response"] & { - data: Endpoints["GET /user/codespaces"]["response"]["data"]["codespaces"]; - }; - }; - /** - * @see https://docs.github.com/rest/codespaces/secrets#list-secrets-for-the-authenticated-user - */ - "GET /user/codespaces/secrets": { - parameters: Endpoints["GET /user/codespaces/secrets"]["parameters"]; - response: Endpoints["GET /user/codespaces/secrets"]["response"] & { - data: Endpoints["GET /user/codespaces/secrets"]["response"]["data"]["secrets"]; - }; - }; - /** - * @see https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user - */ - "GET /user/emails": { - parameters: Endpoints["GET /user/emails"]["parameters"]; - response: Endpoints["GET /user/emails"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user - */ - "GET /user/followers": { - parameters: Endpoints["GET /user/followers"]["parameters"]; - response: Endpoints["GET /user/followers"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows - */ - "GET /user/following": { - parameters: Endpoints["GET /user/following"]["parameters"]; - response: Endpoints["GET /user/following"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user - */ - "GET /user/gpg_keys": { - parameters: Endpoints["GET /user/gpg_keys"]["parameters"]; - response: Endpoints["GET /user/gpg_keys"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token - */ - "GET /user/installations": { - parameters: Endpoints["GET /user/installations"]["parameters"]; - response: Endpoints["GET /user/installations"]["response"] & { - data: Endpoints["GET /user/installations"]["response"]["data"]["installations"]; - }; - }; - /** - * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-user-access-token - */ - "GET /user/installations/{installation_id}/repositories": { - parameters: Endpoints["GET /user/installations/{installation_id}/repositories"]["parameters"]; - response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"] & { - data: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]["data"]["repositories"]; - }; - }; - /** - * @see https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user - */ - "GET /user/issues": { - parameters: Endpoints["GET /user/issues"]["parameters"]; - response: Endpoints["GET /user/issues"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user - */ - "GET /user/keys": { - parameters: Endpoints["GET /user/keys"]["parameters"]; - response: Endpoints["GET /user/keys"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user - */ - "GET /user/marketplace_purchases": { - parameters: Endpoints["GET /user/marketplace_purchases"]["parameters"]; - response: Endpoints["GET /user/marketplace_purchases"]["response"]; - }; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user-stubbed - */ - "GET /user/marketplace_purchases/stubbed": { - parameters: Endpoints["GET /user/marketplace_purchases/stubbed"]["parameters"]; - response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user - */ - "GET /user/memberships/orgs": { - parameters: Endpoints["GET /user/memberships/orgs"]["parameters"]; - response: Endpoints["GET /user/memberships/orgs"]["response"]; - }; - /** - * @see https://docs.github.com/rest/migrations/users#list-user-migrations - */ - "GET /user/migrations": { - parameters: Endpoints["GET /user/migrations"]["parameters"]; - response: Endpoints["GET /user/migrations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/migrations/users#list-repositories-for-a-user-migration - */ - "GET /user/migrations/{migration_id}/repositories": { - parameters: Endpoints["GET /user/migrations/{migration_id}/repositories"]["parameters"]; - response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user - */ - "GET /user/orgs": { - parameters: Endpoints["GET /user/orgs"]["parameters"]; - response: Endpoints["GET /user/orgs"]["response"]; - }; - /** - * @see https://docs.github.com/rest/packages/packages#list-packages-for-the-authenticated-users-namespace - */ - "GET /user/packages": { - parameters: Endpoints["GET /user/packages"]["parameters"]; - response: Endpoints["GET /user/packages"]["response"]; - }; - /** - * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-the-authenticated-user - */ - "GET /user/packages/{package_type}/{package_name}/versions": { - parameters: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["parameters"]; - response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user - */ - "GET /user/public_emails": { - parameters: Endpoints["GET /user/public_emails"]["parameters"]; - response: Endpoints["GET /user/public_emails"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/repos#list-repositories-for-the-authenticated-user - */ - "GET /user/repos": { - parameters: Endpoints["GET /user/repos"]["parameters"]; - response: Endpoints["GET /user/repos"]["response"]; - }; - /** - * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user - */ - "GET /user/repository_invitations": { - parameters: Endpoints["GET /user/repository_invitations"]["parameters"]; - response: Endpoints["GET /user/repository_invitations"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-the-authenticated-user - */ - "GET /user/social_accounts": { - parameters: Endpoints["GET /user/social_accounts"]["parameters"]; - response: Endpoints["GET /user/social_accounts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user - */ - "GET /user/ssh_signing_keys": { - parameters: Endpoints["GET /user/ssh_signing_keys"]["parameters"]; - response: Endpoints["GET /user/ssh_signing_keys"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user - */ - "GET /user/starred": { - parameters: Endpoints["GET /user/starred"]["parameters"]; - response: Endpoints["GET /user/starred"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user - */ - "GET /user/subscriptions": { - parameters: Endpoints["GET /user/subscriptions"]["parameters"]; - response: Endpoints["GET /user/subscriptions"]["response"]; - }; - /** - * @see https://docs.github.com/rest/teams/teams#list-teams-for-the-authenticated-user - */ - "GET /user/teams": { - parameters: Endpoints["GET /user/teams"]["parameters"]; - response: Endpoints["GET /user/teams"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/users#list-users - */ - "GET /users": { - parameters: Endpoints["GET /users"]["parameters"]; - response: Endpoints["GET /users"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user - */ - "GET /users/{username}/events": { - parameters: Endpoints["GET /users/{username}/events"]["parameters"]; - response: Endpoints["GET /users/{username}/events"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user - */ - "GET /users/{username}/events/orgs/{org}": { - parameters: Endpoints["GET /users/{username}/events/orgs/{org}"]["parameters"]; - response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-user - */ - "GET /users/{username}/events/public": { - parameters: Endpoints["GET /users/{username}/events/public"]["parameters"]; - response: Endpoints["GET /users/{username}/events/public"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/followers#list-followers-of-a-user - */ - "GET /users/{username}/followers": { - parameters: Endpoints["GET /users/{username}/followers"]["parameters"]; - response: Endpoints["GET /users/{username}/followers"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/followers#list-the-people-a-user-follows - */ - "GET /users/{username}/following": { - parameters: Endpoints["GET /users/{username}/following"]["parameters"]; - response: Endpoints["GET /users/{username}/following"]["response"]; - }; - /** - * @see https://docs.github.com/rest/gists/gists#list-gists-for-a-user - */ - "GET /users/{username}/gists": { - parameters: Endpoints["GET /users/{username}/gists"]["parameters"]; - response: Endpoints["GET /users/{username}/gists"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-a-user - */ - "GET /users/{username}/gpg_keys": { - parameters: Endpoints["GET /users/{username}/gpg_keys"]["parameters"]; - response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/keys#list-public-keys-for-a-user - */ - "GET /users/{username}/keys": { - parameters: Endpoints["GET /users/{username}/keys"]["parameters"]; - response: Endpoints["GET /users/{username}/keys"]["response"]; - }; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-a-user - */ - "GET /users/{username}/orgs": { - parameters: Endpoints["GET /users/{username}/orgs"]["parameters"]; - response: Endpoints["GET /users/{username}/orgs"]["response"]; - }; - /** - * @see https://docs.github.com/rest/packages/packages#list-packages-for-a-user - */ - "GET /users/{username}/packages": { - parameters: Endpoints["GET /users/{username}/packages"]["parameters"]; - response: Endpoints["GET /users/{username}/packages"]["response"]; - }; - /** - * @see https://docs.github.com/rest/projects/projects#list-user-projects - */ - "GET /users/{username}/projects": { - parameters: Endpoints["GET /users/{username}/projects"]["parameters"]; - response: Endpoints["GET /users/{username}/projects"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user - */ - "GET /users/{username}/received_events": { - parameters: Endpoints["GET /users/{username}/received_events"]["parameters"]; - response: Endpoints["GET /users/{username}/received_events"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user - */ - "GET /users/{username}/received_events/public": { - parameters: Endpoints["GET /users/{username}/received_events/public"]["parameters"]; - response: Endpoints["GET /users/{username}/received_events/public"]["response"]; - }; - /** - * @see https://docs.github.com/rest/repos/repos#list-repositories-for-a-user - */ - "GET /users/{username}/repos": { - parameters: Endpoints["GET /users/{username}/repos"]["parameters"]; - response: Endpoints["GET /users/{username}/repos"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-a-user - */ - "GET /users/{username}/social_accounts": { - parameters: Endpoints["GET /users/{username}/social_accounts"]["parameters"]; - response: Endpoints["GET /users/{username}/social_accounts"]["response"]; - }; - /** - * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user - */ - "GET /users/{username}/ssh_signing_keys": { - parameters: Endpoints["GET /users/{username}/ssh_signing_keys"]["parameters"]; - response: Endpoints["GET /users/{username}/ssh_signing_keys"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user - */ - "GET /users/{username}/starred": { - parameters: Endpoints["GET /users/{username}/starred"]["parameters"]; - response: Endpoints["GET /users/{username}/starred"]["response"]; - }; - /** - * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user - */ - "GET /users/{username}/subscriptions": { - parameters: Endpoints["GET /users/{username}/subscriptions"]["parameters"]; - response: Endpoints["GET /users/{username}/subscriptions"]["response"]; - }; -} -export declare const paginatingEndpoints: (keyof PaginatingEndpoints)[]; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts deleted file mode 100644 index f5dde53..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/index.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { Octokit } from "@octokit/core"; -import type { PaginateInterface } from "./types"; -export type { PaginateInterface, PaginatingEndpoints } from "./types"; -export { composePaginateRest } from "./compose-paginate"; -export { isPaginatingEndpoint, paginatingEndpoints, } from "./paginating-endpoints"; -/** - * @param octokit Octokit instance - * @param options Options passed to Octokit constructor - */ -export declare function paginateRest(octokit: Octokit): { - paginate: PaginateInterface; -}; -export declare namespace paginateRest { - var VERSION: string; -} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts deleted file mode 100644 index 66ef5af..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/iterator.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { Octokit } from "@octokit/core"; -import type { RequestInterface, RequestParameters, Route } from "./types"; -export declare function iterator(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters): { - [Symbol.asyncIterator]: () => { - next(): Promise<{ - done: boolean; - value?: undefined; - } | { - value: import("@octokit/types/dist-types/OctokitResponse").OctokitResponse; - done?: undefined; - } | { - value: { - status: number; - headers: {}; - data: never[]; - }; - done?: undefined; - }>; - }; -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts deleted file mode 100644 index 925aa1a..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/normalize-paginated-list-response.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Some “list†response that can be paginated have a different response structure - * - * They have a `total_count` key in the response (search also has `incomplete_results`, - * /installation/repositories also has `repository_selection`), as well as a key with - * the list of the items which name varies from endpoint to endpoint. - * - * Octokit normalizes these responses so that paginated results are always returned following - * the same structure. One challenge is that if the list response has only one page, no Link - * header is provided, so this header alone is not sufficient to check wether a response is - * paginated or not. - * - * We check if a "total_count" key is present in the response data, but also make sure that - * a "url" property is not, as the "Get the combined status for a specific ref" endpoint would - * otherwise match: https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref - */ -import type { OctokitResponse } from "./types"; -export declare function normalizePaginatedListResponse(response: OctokitResponse): OctokitResponse; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts deleted file mode 100644 index 7ccd3de..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/paginate.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Octokit } from "@octokit/core"; -import type { MapFunction, PaginationResults, RequestParameters, Route, RequestInterface } from "./types"; -export declare function paginate(octokit: Octokit, route: Route | RequestInterface, parameters?: RequestParameters, mapFn?: MapFunction): Promise; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts deleted file mode 100644 index d52406b..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/paginating-endpoints.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { type PaginatingEndpoints } from "./generated/paginating-endpoints"; -export { paginatingEndpoints } from "./generated/paginating-endpoints"; -export declare function isPaginatingEndpoint(arg: unknown): arg is keyof PaginatingEndpoints; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts deleted file mode 100644 index 2cdf3c5..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/types.d.ts +++ /dev/null @@ -1,242 +0,0 @@ -import { Octokit } from "@octokit/core"; -import * as OctokitTypes from "@octokit/types"; -export type { EndpointOptions, RequestInterface, OctokitResponse, RequestParameters, Route, } from "@octokit/types"; -export type { PaginatingEndpoints } from "./generated/paginating-endpoints"; -import type { PaginatingEndpoints } from "./generated/paginating-endpoints"; -type KnownKeys = Extract<{ - [K in keyof T]: string extends K ? never : number extends K ? never : K; -} extends { - [_ in keyof T]: infer U; -} ? U : never, keyof T>; -type KeysMatching = { - [K in keyof T]: T[K] extends V ? K : never; -}[keyof T]; -type KnownKeysMatching = KeysMatching>, V>; -type GetResultsType = T extends { - data: any[]; -} ? T["data"] : T extends { - data: object; -} ? T["data"][KnownKeysMatching] : never; -type NormalizeResponse = T & { - data: GetResultsType; -}; -type DataType = "data" extends keyof T ? T["data"] : unknown; -export interface MapFunction>, M = unknown[]> { - (response: T, done: () => void): M; -} -export type PaginationResults = T[]; -export interface PaginateInterface { - /** - * Paginate a request using endpoint options and map each response to a custom array - * - * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - * @param {function} mapFn Optional method to map each response to a custom array - */ - (options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; - /** - * Paginate a request using endpoint options - * - * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (options: OctokitTypes.EndpointOptions): Promise>; - /** - * Paginate a request using a known endpoint route string and map each response to a custom array - * - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {function} mapFn Optional method to map each response to a custom array - */ - (route: R, mapFn: MapFunction): Promise; - /** - * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array - * - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - * @param {function} mapFn Optional method to map each response to a custom array - */ - (route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; - /** - * Paginate a request using an known endpoint route string - * - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; - /** - * Paginate a request using an unknown endpoint route string - * - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; - /** - * Paginate a request using an endpoint method and a map function - * - * @param {string} request Request method (`octokit.request` or `@octokit/request`) - * @param {function} mapFn? Optional method to map each response to a custom array - */ - (request: R, mapFn: MapFunction>, M>): Promise; - /** - * Paginate a request using an endpoint method, parameters, and a map function - * - * @param {string} request Request method (`octokit.request` or `@octokit/request`) - * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - * @param {function} mapFn? Optional method to map each response to a custom array - */ - (request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; - /** - * Paginate a request using an endpoint method and parameters - * - * @param {string} request Request method (`octokit.request` or `@octokit/request`) - * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (request: R, parameters?: Parameters[0]): Promise>["data"]>; - iterator: { - /** - * Get an async iterator to paginate a request using endpoint options - * - * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of - * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; - /** - * Get an async iterator to paginate a request using a known endpoint route string and optional parameters - * - * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; - /** - * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters - * - * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; - /** - * Get an async iterator to paginate a request using a request method and optional parameters - * - * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of - * @param {string} request `@octokit/request` or `octokit.request` method - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; - }; -} -export interface ComposePaginateInterface { - /** - * Paginate a request using endpoint options and map each response to a custom array - * - * @param {object} octokit Octokit instance - * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - * @param {function} mapFn Optional method to map each response to a custom array - */ - (octokit: Octokit, options: OctokitTypes.EndpointOptions, mapFn: MapFunction>, M[]>): Promise>; - /** - * Paginate a request using endpoint options - * - * @param {object} octokit Octokit instance - * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (octokit: Octokit, options: OctokitTypes.EndpointOptions): Promise>; - /** - * Paginate a request using a known endpoint route string and map each response to a custom array - * - * @param {object} octokit Octokit instance - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {function} mapFn Optional method to map each response to a custom array - */ - (octokit: Octokit, route: R, mapFn: MapFunction): Promise; - /** - * Paginate a request using a known endpoint route string and parameters, and map each response to a custom array - * - * @param {object} octokit Octokit instance - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - * @param {function} mapFn Optional method to map each response to a custom array - */ - (octokit: Octokit, route: R, parameters: PaginatingEndpoints[R]["parameters"], mapFn: MapFunction): Promise; - /** - * Paginate a request using an known endpoint route string - * - * @param {object} octokit Octokit instance - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): Promise>; - /** - * Paginate a request using an unknown endpoint route string - * - * @param {object} octokit Octokit instance - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): Promise; - /** - * Paginate a request using an endpoint method and a map function - * - * @param {object} octokit Octokit instance - * @param {string} request Request method (`octokit.request` or `@octokit/request`) - * @param {function} mapFn? Optional method to map each response to a custom array - */ - (octokit: Octokit, request: R, mapFn: MapFunction>, M>): Promise; - /** - * Paginate a request using an endpoint method, parameters, and a map function - * - * @param {object} octokit Octokit instance - * @param {string} request Request method (`octokit.request` or `@octokit/request`) - * @param {object} parameters URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - * @param {function} mapFn? Optional method to map each response to a custom array - */ - (octokit: Octokit, request: R, parameters: Parameters[0], mapFn: MapFunction>, M>): Promise; - /** - * Paginate a request using an endpoint method and parameters - * - * @param {object} octokit Octokit instance - * @param {string} request Request method (`octokit.request` or `@octokit/request`) - * @param {object} parameters? URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (octokit: Octokit, request: R, parameters?: Parameters[0]): Promise>["data"]>; - iterator: { - /** - * Get an async iterator to paginate a request using endpoint options - * - * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of - * - * @param {object} octokit Octokit instance - * @param {object} options Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (octokit: Octokit, options: OctokitTypes.EndpointOptions): AsyncIterableIterator>>; - /** - * Get an async iterator to paginate a request using a known endpoint route string and optional parameters - * - * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of - * - * @param {object} octokit Octokit instance - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (octokit: Octokit, route: R, parameters?: PaginatingEndpoints[R]["parameters"]): AsyncIterableIterator>>; - /** - * Get an async iterator to paginate a request using an unknown endpoint route string and optional parameters - * - * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of - * - * @param {object} octokit Octokit instance - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (octokit: Octokit, route: R, parameters?: R extends keyof PaginatingEndpoints ? PaginatingEndpoints[R]["parameters"] : OctokitTypes.RequestParameters): AsyncIterableIterator>>; - /** - * Get an async iterator to paginate a request using a request method and optional parameters - * - * @see {link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of} for await...of - * - * @param {object} octokit Octokit instance - * @param {string} request `@octokit/request` or `octokit.request` method - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.format`, `request`, or `baseUrl`. - */ - (octokit: Octokit, request: R, parameters?: Parameters[0]): AsyncIterableIterator>>; - }; -} diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts b/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts deleted file mode 100644 index a908dd0..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "9.0.0"; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js deleted file mode 100644 index 7f531d0..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js +++ /dev/null @@ -1,363 +0,0 @@ -// pkg/dist-src/version.js -var VERSION = "9.0.0"; - -// pkg/dist-src/normalize-paginated-list-response.js -function normalizePaginatedListResponse(response) { - if (!response.data) { - return { - ...response, - data: [] - }; - } - const responseNeedsNormalization = "total_count" 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; - delete response.data.incomplete_results; - delete response.data.repository_selection; - delete response.data.total_count; - 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; - 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]; - 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/generated/paginating-endpoints.js -var paginatingEndpoints = [ - "GET /advisories", - "GET /app/hook/deliveries", - "GET /app/installation-requests", - "GET /app/installations", - "GET /assignments/{assignment_id}/accepted_assignments", - "GET /classrooms", - "GET /classrooms/{classroom_id}/assignments", - "GET /enterprises/{enterprise}/dependabot/alerts", - "GET /enterprises/{enterprise}/secret-scanning/alerts", - "GET /events", - "GET /gists", - "GET /gists/public", - "GET /gists/starred", - "GET /gists/{gist_id}/comments", - "GET /gists/{gist_id}/commits", - "GET /gists/{gist_id}/forks", - "GET /installation/repositories", - "GET /issues", - "GET /licenses", - "GET /marketplace_listing/plans", - "GET /marketplace_listing/plans/{plan_id}/accounts", - "GET /marketplace_listing/stubbed/plans", - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts", - "GET /networks/{owner}/{repo}/events", - "GET /notifications", - "GET /organizations", - "GET /orgs/{org}/actions/cache/usage-by-repository", - "GET /orgs/{org}/actions/permissions/repositories", - "GET /orgs/{org}/actions/runners", - "GET /orgs/{org}/actions/secrets", - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories", - "GET /orgs/{org}/actions/variables", - "GET /orgs/{org}/actions/variables/{name}/repositories", - "GET /orgs/{org}/blocks", - "GET /orgs/{org}/code-scanning/alerts", - "GET /orgs/{org}/codespaces", - "GET /orgs/{org}/codespaces/secrets", - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories", - "GET /orgs/{org}/copilot/billing/seats", - "GET /orgs/{org}/dependabot/alerts", - "GET /orgs/{org}/dependabot/secrets", - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories", - "GET /orgs/{org}/events", - "GET /orgs/{org}/failed_invitations", - "GET /orgs/{org}/hooks", - "GET /orgs/{org}/hooks/{hook_id}/deliveries", - "GET /orgs/{org}/installations", - "GET /orgs/{org}/invitations", - "GET /orgs/{org}/invitations/{invitation_id}/teams", - "GET /orgs/{org}/issues", - "GET /orgs/{org}/members", - "GET /orgs/{org}/members/{username}/codespaces", - "GET /orgs/{org}/migrations", - "GET /orgs/{org}/migrations/{migration_id}/repositories", - "GET /orgs/{org}/outside_collaborators", - "GET /orgs/{org}/packages", - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions", - "GET /orgs/{org}/personal-access-token-requests", - "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", - "GET /orgs/{org}/personal-access-tokens", - "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories", - "GET /orgs/{org}/projects", - "GET /orgs/{org}/public_members", - "GET /orgs/{org}/repos", - "GET /orgs/{org}/rulesets", - "GET /orgs/{org}/secret-scanning/alerts", - "GET /orgs/{org}/security-advisories", - "GET /orgs/{org}/teams", - "GET /orgs/{org}/teams/{team_slug}/discussions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", - "GET /orgs/{org}/teams/{team_slug}/invitations", - "GET /orgs/{org}/teams/{team_slug}/members", - "GET /orgs/{org}/teams/{team_slug}/projects", - "GET /orgs/{org}/teams/{team_slug}/repos", - "GET /orgs/{org}/teams/{team_slug}/teams", - "GET /projects/columns/{column_id}/cards", - "GET /projects/{project_id}/collaborators", - "GET /projects/{project_id}/columns", - "GET /repos/{owner}/{repo}/actions/artifacts", - "GET /repos/{owner}/{repo}/actions/caches", - "GET /repos/{owner}/{repo}/actions/organization-secrets", - "GET /repos/{owner}/{repo}/actions/organization-variables", - "GET /repos/{owner}/{repo}/actions/runners", - "GET /repos/{owner}/{repo}/actions/runs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs", - "GET /repos/{owner}/{repo}/actions/secrets", - "GET /repos/{owner}/{repo}/actions/variables", - "GET /repos/{owner}/{repo}/actions/workflows", - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", - "GET /repos/{owner}/{repo}/activity", - "GET /repos/{owner}/{repo}/assignees", - "GET /repos/{owner}/{repo}/branches", - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", - "GET /repos/{owner}/{repo}/code-scanning/alerts", - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", - "GET /repos/{owner}/{repo}/code-scanning/analyses", - "GET /repos/{owner}/{repo}/codespaces", - "GET /repos/{owner}/{repo}/codespaces/devcontainers", - "GET /repos/{owner}/{repo}/codespaces/secrets", - "GET /repos/{owner}/{repo}/collaborators", - "GET /repos/{owner}/{repo}/comments", - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/commits", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments", - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls", - "GET /repos/{owner}/{repo}/commits/{ref}/check-runs", - "GET /repos/{owner}/{repo}/commits/{ref}/check-suites", - "GET /repos/{owner}/{repo}/commits/{ref}/status", - "GET /repos/{owner}/{repo}/commits/{ref}/statuses", - "GET /repos/{owner}/{repo}/contributors", - "GET /repos/{owner}/{repo}/dependabot/alerts", - "GET /repos/{owner}/{repo}/dependabot/secrets", - "GET /repos/{owner}/{repo}/deployments", - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses", - "GET /repos/{owner}/{repo}/environments", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", - "GET /repos/{owner}/{repo}/events", - "GET /repos/{owner}/{repo}/forks", - "GET /repos/{owner}/{repo}/hooks", - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries", - "GET /repos/{owner}/{repo}/invitations", - "GET /repos/{owner}/{repo}/issues", - "GET /repos/{owner}/{repo}/issues/comments", - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/issues/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/comments", - "GET /repos/{owner}/{repo}/issues/{issue_number}/events", - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels", - "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions", - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline", - "GET /repos/{owner}/{repo}/keys", - "GET /repos/{owner}/{repo}/labels", - "GET /repos/{owner}/{repo}/milestones", - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels", - "GET /repos/{owner}/{repo}/notifications", - "GET /repos/{owner}/{repo}/pages/builds", - "GET /repos/{owner}/{repo}/projects", - "GET /repos/{owner}/{repo}/pulls", - "GET /repos/{owner}/{repo}/pulls/comments", - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/files", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews", - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", - "GET /repos/{owner}/{repo}/releases", - "GET /repos/{owner}/{repo}/releases/{release_id}/assets", - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions", - "GET /repos/{owner}/{repo}/rules/branches/{branch}", - "GET /repos/{owner}/{repo}/rulesets", - "GET /repos/{owner}/{repo}/secret-scanning/alerts", - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", - "GET /repos/{owner}/{repo}/security-advisories", - "GET /repos/{owner}/{repo}/stargazers", - "GET /repos/{owner}/{repo}/subscribers", - "GET /repos/{owner}/{repo}/tags", - "GET /repos/{owner}/{repo}/teams", - "GET /repos/{owner}/{repo}/topics", - "GET /repositories", - "GET /repositories/{repository_id}/environments/{environment_name}/secrets", - "GET /repositories/{repository_id}/environments/{environment_name}/variables", - "GET /search/code", - "GET /search/commits", - "GET /search/issues", - "GET /search/labels", - "GET /search/repositories", - "GET /search/topics", - "GET /search/users", - "GET /teams/{team_id}/discussions", - "GET /teams/{team_id}/discussions/{discussion_number}/comments", - "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", - "GET /teams/{team_id}/discussions/{discussion_number}/reactions", - "GET /teams/{team_id}/invitations", - "GET /teams/{team_id}/members", - "GET /teams/{team_id}/projects", - "GET /teams/{team_id}/repos", - "GET /teams/{team_id}/teams", - "GET /user/blocks", - "GET /user/codespaces", - "GET /user/codespaces/secrets", - "GET /user/emails", - "GET /user/followers", - "GET /user/following", - "GET /user/gpg_keys", - "GET /user/installations", - "GET /user/installations/{installation_id}/repositories", - "GET /user/issues", - "GET /user/keys", - "GET /user/marketplace_purchases", - "GET /user/marketplace_purchases/stubbed", - "GET /user/memberships/orgs", - "GET /user/migrations", - "GET /user/migrations/{migration_id}/repositories", - "GET /user/orgs", - "GET /user/packages", - "GET /user/packages/{package_type}/{package_name}/versions", - "GET /user/public_emails", - "GET /user/repos", - "GET /user/repository_invitations", - "GET /user/social_accounts", - "GET /user/ssh_signing_keys", - "GET /user/starred", - "GET /user/subscriptions", - "GET /user/teams", - "GET /users", - "GET /users/{username}/events", - "GET /users/{username}/events/orgs/{org}", - "GET /users/{username}/events/public", - "GET /users/{username}/followers", - "GET /users/{username}/following", - "GET /users/{username}/gists", - "GET /users/{username}/gpg_keys", - "GET /users/{username}/keys", - "GET /users/{username}/orgs", - "GET /users/{username}/packages", - "GET /users/{username}/projects", - "GET /users/{username}/received_events", - "GET /users/{username}/received_events/public", - "GET /users/{username}/repos", - "GET /users/{username}/social_accounts", - "GET /users/{username}/ssh_signing_keys", - "GET /users/{username}/starred", - "GET /users/{username}/subscriptions" -]; - -// pkg/dist-src/paginating-endpoints.js -function isPaginatingEndpoint(arg) { - if (typeof arg === "string") { - return paginatingEndpoints.includes(arg); - } else { - return false; - } -} - -// pkg/dist-src/index.js -function paginateRest(octokit) { - return { - paginate: Object.assign(paginate.bind(null, octokit), { - iterator: iterator.bind(null, octokit) - }) - }; -} -paginateRest.VERSION = VERSION; -export { - composePaginateRest, - isPaginatingEndpoint, - paginateRest, - paginatingEndpoints -}; diff --git a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map b/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map deleted file mode 100644 index 2f5298c..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/dist-web/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/version.js", "../dist-src/normalize-paginated-list-response.js", "../dist-src/iterator.js", "../dist-src/paginate.js", "../dist-src/compose-paginate.js", "../dist-src/generated/paginating-endpoints.js", "../dist-src/paginating-endpoints.js", "../dist-src/index.js"], - "sourcesContent": ["const VERSION = \"9.0.0\";\nexport {\n VERSION\n};\n", "function normalizePaginatedListResponse(response) {\n if (!response.data) {\n return {\n ...response,\n data: []\n };\n }\n const responseNeedsNormalization = \"total_count\" in response.data && !(\"url\" in response.data);\n if (!responseNeedsNormalization)\n return response;\n const incompleteResults = response.data.incomplete_results;\n const repositorySelection = response.data.repository_selection;\n const totalCount = response.data.total_count;\n delete response.data.incomplete_results;\n delete response.data.repository_selection;\n delete response.data.total_count;\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 return response;\n}\nexport {\n normalizePaginatedListResponse\n};\n", "import { normalizePaginatedListResponse } from \"./normalize-paginated-list-response\";\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)\n 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 return { value: normalizedResponse };\n } catch (error) {\n if (error.status !== 409)\n throw error;\n url = \"\";\n return {\n value: {\n status: 200,\n headers: {},\n data: []\n }\n };\n }\n }\n })\n };\n}\nexport {\n iterator\n};\n", "import { iterator } from \"./iterator\";\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}\nexport {\n paginate\n};\n", "import { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nconst composePaginateRest = Object.assign(paginate, {\n iterator\n});\nexport {\n composePaginateRest\n};\n", "const 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}/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/permissions/repositories\",\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}/blocks\",\n \"GET /orgs/{org}/code-scanning/alerts\",\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}/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}/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}/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}/projects\",\n \"GET /orgs/{org}/public_members\",\n \"GET /orgs/{org}/repos\",\n \"GET /orgs/{org}/rulesets\",\n \"GET /orgs/{org}/secret-scanning/alerts\",\n \"GET /orgs/{org}/security-advisories\",\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}/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}/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}/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}/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}/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 /repositories/{repository_id}/environments/{environment_name}/secrets\",\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables\",\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}/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];\nexport {\n paginatingEndpoints\n};\n", "import {\n paginatingEndpoints\n} from \"./generated/paginating-endpoints\";\nimport { paginatingEndpoints as paginatingEndpoints2 } from \"./generated/paginating-endpoints\";\nfunction isPaginatingEndpoint(arg) {\n if (typeof arg === \"string\") {\n return paginatingEndpoints.includes(arg);\n } else {\n return false;\n }\n}\nexport {\n isPaginatingEndpoint,\n paginatingEndpoints2 as paginatingEndpoints\n};\n", "import { VERSION } from \"./version\";\nimport { paginate } from \"./paginate\";\nimport { iterator } from \"./iterator\";\nimport { composePaginateRest } from \"./compose-paginate\";\nimport {\n isPaginatingEndpoint,\n paginatingEndpoints\n} from \"./paginating-endpoints\";\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"], - "mappings": ";AAAA,IAAM,UAAU;;;ACAhB,SAAS,+BAA+B,UAAU;AAChD,MAAI,CAAC,SAAS,MAAM;AAClB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,MAAM,CAAC;AAAA,IACT;AAAA,EACF;AACA,QAAM,6BAA6B,iBAAiB,SAAS,QAAQ,EAAE,SAAS,SAAS;AACzF,MAAI,CAAC;AACH,WAAO;AACT,QAAM,oBAAoB,SAAS,KAAK;AACxC,QAAM,sBAAsB,SAAS,KAAK;AAC1C,QAAM,aAAa,SAAS,KAAK;AACjC,SAAO,SAAS,KAAK;AACrB,SAAO,SAAS,KAAK;AACrB,SAAO,SAAS,KAAK;AACrB,QAAM,eAAe,OAAO,KAAK,SAAS,IAAI,EAAE,CAAC;AACjD,QAAM,OAAO,SAAS,KAAK,YAAY;AACvC,WAAS,OAAO;AAChB,MAAI,OAAO,sBAAsB,aAAa;AAC5C,aAAS,KAAK,qBAAqB;AAAA,EACrC;AACA,MAAI,OAAO,wBAAwB,aAAa;AAC9C,aAAS,KAAK,uBAAuB;AAAA,EACvC;AACA,WAAS,KAAK,cAAc;AAC5B,SAAO;AACT;;;AC1BA,SAAS,SAAS,SAAS,OAAO,YAAY;AAC5C,QAAM,UAAU,OAAO,UAAU,aAAa,MAAM,SAAS,UAAU,IAAI,QAAQ,QAAQ,SAAS,OAAO,UAAU;AACrH,QAAM,gBAAgB,OAAO,UAAU,aAAa,QAAQ,QAAQ;AACpE,QAAM,SAAS,QAAQ;AACvB,QAAM,UAAU,QAAQ;AACxB,MAAI,MAAM,QAAQ;AAClB,SAAO;AAAA,IACL,CAAC,OAAO,aAAa,GAAG,OAAO;AAAA,MAC7B,MAAM,OAAO;AACX,YAAI,CAAC;AACH,iBAAO,EAAE,MAAM,KAAK;AACtB,YAAI;AACF,gBAAM,WAAW,MAAM,cAAc,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAC7D,gBAAM,qBAAqB,+BAA+B,QAAQ;AAClE,kBAAQ,mBAAmB,QAAQ,QAAQ,IAAI;AAAA,YAC7C;AAAA,UACF,KAAK,CAAC,GAAG,CAAC;AACV,iBAAO,EAAE,OAAO,mBAAmB;AAAA,QACrC,SAAS,OAAO;AACd,cAAI,MAAM,WAAW;AACnB,kBAAM;AACR,gBAAM;AACN,iBAAO;AAAA,YACL,OAAO;AAAA,cACL,QAAQ;AAAA,cACR,SAAS,CAAC;AAAA,cACV,MAAM,CAAC;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACjCA,SAAS,SAAS,SAAS,OAAO,YAAY,OAAO;AACnD,MAAI,OAAO,eAAe,YAAY;AACpC,YAAQ;AACR,iBAAa;AAAA,EACf;AACA,SAAO;AAAA,IACL;AAAA,IACA,CAAC;AAAA,IACD,SAAS,SAAS,OAAO,UAAU,EAAE,OAAO,aAAa,EAAE;AAAA,IAC3D;AAAA,EACF;AACF;AACA,SAAS,OAAO,SAAS,SAAS,WAAW,OAAO;AAClD,SAAO,UAAU,KAAK,EAAE,KAAK,CAAC,WAAW;AACvC,QAAI,OAAO,MAAM;AACf,aAAO;AAAA,IACT;AACA,QAAI,YAAY;AAChB,aAAS,OAAO;AACd,kBAAY;AAAA,IACd;AACA,cAAU,QAAQ;AAAA,MAChB,QAAQ,MAAM,OAAO,OAAO,IAAI,IAAI,OAAO,MAAM;AAAA,IACnD;AACA,QAAI,WAAW;AACb,aAAO;AAAA,IACT;AACA,WAAO,OAAO,SAAS,SAAS,WAAW,KAAK;AAAA,EAClD,CAAC;AACH;;;AC5BA,IAAM,sBAAsB,OAAO,OAAO,UAAU;AAAA,EAClD;AACF,CAAC;;;ACJD,IAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;AClOA,SAAS,qBAAqB,KAAK;AACjC,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO,oBAAoB,SAAS,GAAG;AAAA,EACzC,OAAO;AACL,WAAO;AAAA,EACT;AACF;;;ACFA,SAAS,aAAa,SAAS;AAC7B,SAAO;AAAA,IACL,UAAU,OAAO,OAAO,SAAS,KAAK,MAAM,OAAO,GAAG;AAAA,MACpD,UAAU,SAAS,KAAK,MAAM,OAAO;AAAA,IACvC,CAAC;AAAA,EACH;AACF;AACA,aAAa,UAAU;", - "names": [] -} diff --git a/node_modules/@octokit/plugin-paginate-rest/package.json b/node_modules/@octokit/plugin-paginate-rest/package.json deleted file mode 100644 index 057e4af..0000000 --- a/node_modules/@octokit/plugin-paginate-rest/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "@octokit/plugin-paginate-rest", - "publishConfig": { - "access": "public" - }, - "version": "9.0.0", - "description": "Octokit plugin to paginate REST API endpoint responses", - "repository": "github:octokit/plugin-paginate-rest.js", - "keywords": [ - "github", - "api", - "sdk", - "toolkit" - ], - "license": "MIT", - "dependencies": { - "@octokit/types": "^12.0.0" - }, - "peerDependencies": { - "@octokit/core": ">=5" - }, - "devDependencies": { - "@octokit/core": "^5.0.0", - "@octokit/plugin-rest-endpoint-methods": "^9.0.0", - "@octokit/tsconfig": "^2.0.0", - "@types/fetch-mock": "^7.3.1", - "@types/jest": "^29.0.0", - "@types/node": "^18.0.0", - "esbuild": "^0.19.0", - "fetch-mock": "^9.0.0", - "github-openapi-graphql-query": "^4.0.0", - "glob": "^10.2.5", - "jest": "^29.0.0", - "npm-run-all": "^4.1.5", - "prettier": "3.0.3", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "ts-jest": "^29.0.0", - "typescript": "^5.0.0" - }, - "engines": { - "node": ">= 18" - }, - "files": [ - "dist-*/**", - "bin/**" - ], - "main": "dist-node/index.js", - "module": "dist-web/index.js", - "types": "dist-types/index.d.ts", - "source": "dist-src/index.js", - "sideEffects": false -} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE b/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE deleted file mode 100644 index 57bee5f..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -MIT License Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/README.md b/node_modules/@octokit/plugin-rest-endpoint-methods/README.md deleted file mode 100644 index ee4f952..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# plugin-rest-endpoint-methods.js - -> Octokit plugin adding one method for all of api.github.com REST API endpoints - -[![@latest](https://img.shields.io/npm/v/@octokit/plugin-rest-endpoint-methods.svg)](https://www.npmjs.com/package/@octokit/plugin-rest-endpoint-methods) -[![Build Status](https://github.com/octokit/plugin-rest-endpoint-methods.js/workflows/Test/badge.svg)](https://github.com/octokit/plugin-rest-endpoint-methods.js/actions?workflow=Test) - -## Usage - - - - - - -
-Browsers - - -Load `@octokit/plugin-rest-endpoint-methods` and [`@octokit/core`](https://github.com/octokit/core.js) (or core-compatible module) directly from [esm.sh](https://esm.sh) - -```html - -``` - -
-Node - - -Install with `npm install @octokit/core @octokit/plugin-rest-endpoint-methods`. Optionally replace `@octokit/core` with a compatible module - -```js -const { Octokit } = require("@octokit/core"); -const { - restEndpointMethods, -} = require("@octokit/plugin-rest-endpoint-methods"); -``` - -
- -```js -const MyOctokit = Octokit.plugin(restEndpointMethods); -const octokit = new MyOctokit({ auth: "secret123" }); - -// https://developer.github.com/v3/users/#get-the-authenticated-user -octokit.rest.users.getAuthenticated(); -``` - -There is one method for each REST API endpoint documented at [https://developer.github.com/v3](https://developer.github.com/v3). All endpoint methods are documented in the [docs/](docs/) folder, e.g. [docs/users/getAuthenticated.md](docs/users/getAuthenticated.md) - -## TypeScript - -Parameter and response types for all endpoint methods exported as `{ RestEndpointMethodTypes }`. - -Example - -```ts -import { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods"; - -type UpdateLabelParameters = - RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]; -type UpdateLabelResponse = - RestEndpointMethodTypes["issues"]["updateLabel"]["response"]; -``` - -In order to get types beyond parameters and responses, check out [`@octokit/openapi-types`](https://github.com/octokit/openapi-types.ts/#readme), which is a direct transpilation from GitHub's official OpenAPI specification. - -## Contributing - -See [CONTRIBUTING.md](CONTRIBUTING.md) - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js deleted file mode 100644 index 7b60ea3..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js +++ /dev/null @@ -1,2030 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - legacyRestEndpointMethods: () => legacyRestEndpointMethods, - restEndpointMethods: () => restEndpointMethods -}); -module.exports = __toCommonJS(dist_src_exports); - -// pkg/dist-src/version.js -var VERSION = "10.0.1"; - -// pkg/dist-src/generated/endpoints.js -var Endpoints = { - actions: { - addCustomLabelsToSelfHostedRunnerForOrg: [ - "POST /orgs/{org}/actions/runners/{runner_id}/labels" - ], - addCustomLabelsToSelfHostedRunnerForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - 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 /repositories/{repository_id}/environments/{environment_name}/variables" - ], - createOrUpdateEnvironmentSecret: [ - "PUT /repositories/{repository_id}/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 /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" - ], - deleteEnvironmentVariable: [ - "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" - ], - 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" - ], - 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}"], - getEnvironmentPublicKey: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" - ], - getEnvironmentSecret: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" - ], - getEnvironmentVariable: [ - "GET /repositories/{repository_id}/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" - ], - 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 /repositories/{repository_id}/environments/{environment_name}/secrets" - ], - listEnvironmentVariables: [ - "GET /repositories/{repository_id}/environments/{environment_name}/variables" - ], - 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" - ], - 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 /repositories/{repository_id}/environments/{environment_name}/variables/{name}" - ], - 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"], - 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" - ], - 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" - ] - }, - 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: { - deleteAnalysis: [ - "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" - ], - 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}" - ], - 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}"], - 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"] - }, - 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}" - ], - 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: { - addCopilotForBusinessSeatsForTeams: [ - "POST /orgs/{org}/copilot/billing/selected_teams" - ], - addCopilotForBusinessSeatsForUsers: [ - "POST /orgs/{org}/copilot/billing/selected_users" - ], - cancelCopilotSeatAssignmentForTeams: [ - "DELETE /orgs/{org}/copilot/billing/selected_teams" - ], - cancelCopilotSeatAssignmentForUsers: [ - "DELETE /orgs/{org}/copilot/billing/selected_users" - ], - getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], - getCopilotSeatAssignmentDetailsForUser: [ - "GET /orgs/{org}/members/{username}/copilot" - ], - listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] - }, - 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}" - ], - setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" - ] - }, - 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}"] - }, - 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" - ], - addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], - 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}"], - 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"], - 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"], - 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" - ], - removeLabel: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" - ], - 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: { - cancelImport: ["DELETE /repos/{owner}/{repo}/import"], - 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" - ], - getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], - getImportStatus: ["GET /repos/{owner}/{repo}/import"], - getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], - 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"] } - ], - mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], - setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], - startForAuthenticatedUser: ["POST /user/migrations"], - startForOrg: ["POST /orgs/{org}/migrations"], - startImport: ["PUT /repos/{owner}/{repo}/import"], - unlockRepoForAuthenticatedUser: [ - "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" - ], - unlockRepoForOrg: [ - "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" - ], - updateImport: ["PATCH /repos/{owner}/{repo}/import"] - }, - orgs: { - addSecurityManagerTeam: [ - "PUT /orgs/{org}/security-managers/teams/{team_slug}" - ], - 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}" - ], - createInvitation: ["POST /orgs/{org}/invitations"], - createWebhook: ["POST /orgs/{org}/hooks"], - delete: ["DELETE /orgs/{org}"], - deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], - enableOrDisableSecurityProductOnAllOrgRepos: [ - "POST /orgs/{org}/{security_product}/{enablement}" - ], - get: ["GET /orgs/{org}"], - getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], - getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], - 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"], - listBlockedUsers: ["GET /orgs/{org}/blocks"], - listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], - listForAuthenticatedUser: ["GET /user/orgs"], - listForUser: ["GET /users/{username}/orgs"], - listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], - listMembers: ["GET /orgs/{org}/members"], - listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], - 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"], - 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" - ], - 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}" - ], - reviewPatGrantRequest: [ - "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" - ], - reviewPatGrantRequestsInBulk: [ - "POST /orgs/{org}/personal-access-token-requests" - ], - setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], - setPublicMembershipForAuthenticatedUser: [ - "PUT /orgs/{org}/public_members/{username}" - ], - unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], - update: ["PATCH /orgs/{org}"], - 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" - ] - }, - projects: { - addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], - createCard: ["POST /projects/columns/{column_id}/cards"], - createColumn: ["POST /projects/{project_id}/columns"], - createForAuthenticatedUser: ["POST /user/projects"], - createForOrg: ["POST /orgs/{org}/projects"], - createForRepo: ["POST /repos/{owner}/{repo}/projects"], - delete: ["DELETE /projects/{project_id}"], - deleteCard: ["DELETE /projects/columns/cards/{card_id}"], - deleteColumn: ["DELETE /projects/columns/{column_id}"], - get: ["GET /projects/{project_id}"], - getCard: ["GET /projects/columns/cards/{card_id}"], - getColumn: ["GET /projects/columns/{column_id}"], - getPermissionForUser: [ - "GET /projects/{project_id}/collaborators/{username}/permission" - ], - listCards: ["GET /projects/columns/{column_id}/cards"], - listCollaborators: ["GET /projects/{project_id}/collaborators"], - listColumns: ["GET /projects/{project_id}/columns"], - listForOrg: ["GET /orgs/{org}/projects"], - listForRepo: ["GET /repos/{owner}/{repo}/projects"], - listForUser: ["GET /users/{username}/projects"], - moveCard: ["POST /projects/columns/cards/{card_id}/moves"], - moveColumn: ["POST /projects/columns/{column_id}/moves"], - removeCollaborator: [ - "DELETE /projects/{project_id}/collaborators/{username}" - ], - update: ["PATCH /projects/{project_id}"], - updateCard: ["PATCH /projects/columns/cards/{card_id}"], - updateColumn: ["PATCH /projects/columns/{column_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" } - ], - checkAutomatedSecurityFixes: [ - "GET /repos/{owner}/{repo}/automated-security-fixes" - ], - checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], - 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}" - ], - 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"], - 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/deployment"], - createPagesSite: ["POST /repos/{owner}/{repo}/pages"], - createRelease: ["POST /repos/{owner}/{repo}/releases"], - createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], - createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], - 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}"], - deleteTagProtection: [ - "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_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}" - ], - 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"], - 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}"], - 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}"], - getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_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"], - 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"], - listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], - 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"], - labels: ["GET /search/labels"], - repos: ["GET /search/repositories"], - topics: ["GET /search/topics"], - users: ["GET /search/users"] - }, - secretScanning: { - getAlert: [ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ], - 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" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ] - }, - securityAdvisories: { - 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}" - ], - addOrUpdateProjectPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - addOrUpdateRepoPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" - ], - checkPermissionsForProjectInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - 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" - ], - listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], - listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], - removeMembershipForUserInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" - ], - removeProjectInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - 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"], - 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"], - 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"], - 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; - -// pkg/dist-src/endpoints-to-methods.js -var 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 - }); - } -} -var 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); -} - -// pkg/dist-src/index.js -function restEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); - return { - rest: api - }; -} -restEndpointMethods.VERSION = VERSION; -function legacyRestEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); - return { - ...api, - rest: api - }; -} -legacyRestEndpointMethods.VERSION = VERSION; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - legacyRestEndpointMethods, - restEndpointMethods -}); diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map deleted file mode 100644 index f4dfef0..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/generated/endpoints.js", "../dist-src/endpoints-to-methods.js"], - "sourcesContent": ["import { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\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", "const VERSION = \"10.0.1\";\nexport {\n VERSION\n};\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 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 /repositories/{repository_id}/environments/{environment_name}/variables\"\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/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 /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n deleteEnvironmentVariable: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\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 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 getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n getEnvironmentVariable: [\n \"GET /repositories/{repository_id}/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 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 /repositories/{repository_id}/environments/{environment_name}/secrets\"\n ],\n listEnvironmentVariables: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables\"\n ],\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 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 /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\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 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 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 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 deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"\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 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 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 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 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 addCopilotForBusinessSeatsForTeams: [\n \"POST /orgs/{org}/copilot/billing/selected_teams\"\n ],\n addCopilotForBusinessSeatsForUsers: [\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 getCopilotOrganizationDetails: [\"GET /orgs/{org}/copilot/billing\"],\n getCopilotSeatAssignmentDetailsForUser: [\n \"GET /orgs/{org}/members/{username}/copilot\"\n ],\n listCopilotSeats: [\"GET /orgs/{org}/copilot/billing/seats\"]\n },\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 setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"\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 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 addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\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 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 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 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 removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"\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 cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\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 getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\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 mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\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 updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\"\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 createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n delete: [\"DELETE /orgs/{org}\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n enableOrDisableSecurityProductOnAllOrgRepos: [\n \"POST /orgs/{org}/{security_product}/{enablement}\"\n ],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\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 listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\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 listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\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: [\"GET /orgs/{org}/security-managers\"],\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 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 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 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 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 projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\"\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\"\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\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 checkAutomatedSecurityFixes: [\n \"GET /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\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 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 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/deployment\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createRepoRuleset: [\"POST /repos/{owner}/{repo}/rulesets\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\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 deleteTagProtection: [\n \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"\n ],\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 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 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 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 getRepoRuleset: [\"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\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 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 listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\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: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\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 updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ]\n },\n securityAdvisories: {\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 addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\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 listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\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 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 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 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", "import ENDPOINTS from \"./generated/endpoints\";\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"], - "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAM,UAAU;;;ACAhB,IAAM,YAAY;AAAA,EAChB,SAAS;AAAA,IACP,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,+CAA+C;AAAA,IACzE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oCAAoC;AAAA,IACxD,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,+CAA+C;AAAA,IACzE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,8CAA8C;AAAA,IACnE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,oDAAoD;AAAA,MAClD;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,mDAAmD;AAAA,MACjD;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,0CAA0C;AAAA,IAChE,sBAAsB,CAAC,+CAA+C;AAAA,IACtE,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,qCAAqC;AAAA,IAClE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,2DAA2D;AAAA,IACzE,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,wDAAwD;AAAA,MACtD;AAAA,IACF;AAAA,IACA,sDAAsD;AAAA,MACpD;AAAA,IACF;AAAA,IACA,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,iDAAiD;AAAA,IACxE,iBAAiB,CAAC,4CAA4C;AAAA,IAC9D,cAAc,CAAC,+CAA+C;AAAA,IAC9D,gBAAgB,CAAC,0CAA0C;AAAA,IAC3D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,WAAW,uCAAuC,EAAE;AAAA,IAClE;AAAA,IACA,kBAAkB,CAAC,sDAAsD;AAAA,IACzE,eAAe,CAAC,yDAAyD;AAAA,IACzE,iBAAiB,CAAC,oDAAoD;AAAA,IACtE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,6CAA6C;AAAA,IACzE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,2DAA2D;AAAA,IACzE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,iDAAiD;AAAA,IAClE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,6CAA6C;AAAA,IACpE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,iCAAiC;AAAA,IAClD,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,2CAA2C;AAAA,IAC7D,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,0DAA0D;AAAA,MACxD;AAAA,IACF;AAAA,IACA,6BAA6B,CAAC,iCAAiC;AAAA,IAC/D,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,wCAAwC;AAAA,IAClE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,wDAAwD;AAAA,IACxE,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,iDAAiD;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,kDAAkD;AAAA,MAChD;AAAA,IACF;AAAA,IACA,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,wDAAwD;AAAA,MACtD;AAAA,IACF;AAAA,IACA,sDAAsD;AAAA,MACpD;AAAA,IACF;AAAA,IACA,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yDAAyD;AAAA,MACvD;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,uCAAuC,CAAC,kCAAkC;AAAA,IAC1E,wBAAwB,CAAC,2CAA2C;AAAA,IACpE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,UAAU,CAAC,YAAY;AAAA,IACvB,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,WAAW,CAAC,wCAAwC;AAAA,IACpD,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,gCAAgC,CAAC,8BAA8B;AAAA,IAC/D,uCAAuC,CAAC,oBAAoB;AAAA,IAC5D,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,aAAa;AAAA,IAChC,gCAAgC,CAAC,qCAAqC;AAAA,IACtE,yBAAyB,CAAC,qCAAqC;AAAA,IAC/D,qBAAqB,CAAC,wBAAwB;AAAA,IAC9C,2BAA2B,CAAC,uCAAuC;AAAA,IACnE,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,kCAAkC;AAAA,IACnD,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,qCAAqC,CAAC,mBAAmB;AAAA,IACzD,wBAAwB,CAAC,+BAA+B;AAAA,IACxD,wBAAwB,CAAC,qCAAqC;AAAA,IAC9D,uBAAuB,CAAC,sCAAsC;AAAA,IAC9D,sCAAsC,CAAC,yBAAyB;AAAA,IAChE,qBAAqB,CAAC,uCAAuC;AAAA,IAC7D,yBAAyB,CAAC,oBAAoB;AAAA,IAC9C,6BAA6B,CAAC,yCAAyC;AAAA,IACvE,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,8BAA8B,CAAC,kCAAkC;AAAA,IACjE,gCAAgC,CAAC,qCAAqC;AAAA,EACxE;AAAA,EACA,MAAM;AAAA,IACJ,uBAAuB;AAAA,MACrB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,QAAQ,2CAA2C,EAAE;AAAA,IACnE;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,YAAY,CAAC,sCAAsC;AAAA,IACnD,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,oBAAoB,CAAC,6CAA6C;AAAA,IAClE,aAAa,CAAC,wCAAwC;AAAA,IACtD,kBAAkB,CAAC,UAAU;AAAA,IAC7B,WAAW,CAAC,sBAAsB;AAAA,IAClC,iBAAiB,CAAC,0CAA0C;AAAA,IAC5D,oBAAoB,CAAC,8BAA8B;AAAA,IACnD,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,oCAAoC;AAAA,IAC1D,wBAAwB,CAAC,sBAAsB;AAAA,IAC/C,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,wBAAwB;AAAA,IAC5C,uCAAuC,CAAC,yBAAyB;AAAA,IACjE,WAAW,CAAC,gCAAgC;AAAA,IAC5C,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,mCAAmC,CAAC,gCAAgC;AAAA,IACpE,uCAAuC,CAAC,iCAAiC;AAAA,IACzE,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,uBAAuB,CAAC,0BAA0B;AAAA,IAClD,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,QAAQ,gDAAgD,EAAE;AAAA,IACxE;AAAA,IACA,gDAAgD;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,YAAY,CAAC,uCAAuC;AAAA,IACpD,+BAA+B,CAAC,4BAA4B;AAAA,IAC5D,YAAY,CAAC,6CAA6C;AAAA,IAC1D,qBAAqB,CAAC,oDAAoD;AAAA,IAC1E,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,wBAAwB;AAAA,EACtD;AAAA,EACA,SAAS;AAAA,IACP,4BAA4B,CAAC,0CAA0C;AAAA,IACvE,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,6BAA6B,CAAC,2CAA2C;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,CAAC,uCAAuC;AAAA,IAChD,aAAa,CAAC,yCAAyC;AAAA,IACvD,KAAK,CAAC,qDAAqD;AAAA,IAC3D,UAAU,CAAC,yDAAyD;AAAA,IACpE,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,YAAY,CAAC,oDAAoD;AAAA,IACjE,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,sDAAsD;AAAA,IACzE,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,uDAAuD;AAAA,EAClE;AAAA,EACA,cAAc;AAAA,IACZ,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,MACA,CAAC;AAAA,MACD,EAAE,mBAAmB,EAAE,UAAU,eAAe,EAAE;AAAA,IACpD;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,uDAAuD;AAAA,IACzE,UAAU,CAAC,2DAA2D;AAAA,IACtE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,sCAAsC;AAAA,IACzD,mBAAmB,CAAC,gDAAgD;AAAA,IACpE,qBAAqB;AAAA,MACnB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,oBAAoB,EAAE;AAAA,IACpD;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,kDAAkD;AAAA,IACvE,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,iDAAiD;AAAA,EACjE;AAAA,EACA,gBAAgB;AAAA,IACd,sBAAsB,CAAC,uBAAuB;AAAA,IAC9C,gBAAgB,CAAC,6BAA6B;AAAA,EAChD;AAAA,EACA,YAAY;AAAA,IACV,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,uBAAuB;AAAA,IACpD,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,0CAA0C;AAAA,IACvE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,uCAAuC;AAAA,IACjE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,cAAc,CAAC,kDAAkD;AAAA,IACjE,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,mDAAmD;AAAA,MACjD;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,sBAAsB;AAAA,IACjD,oBAAoB;AAAA,MAClB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,mBAAmB,EAAE,QAAQ,MAAM,EAAE;AAAA,IACzC;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,iBAAiB,CAAC,8CAA8C;AAAA,IAChE,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,iCAAiC,CAAC,8BAA8B;AAAA,IAChE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,8CAA8C;AAAA,IAC1E,0BAA0B,CAAC,6CAA6C;AAAA,IACxE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,yCAAyC;AAAA,EACxE;AAAA,EACA,SAAS;AAAA,IACP,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,+BAA+B,CAAC,iCAAiC;AAAA,IACjE,wCAAwC;AAAA,MACtC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uCAAuC;AAAA,EAC5D;AAAA,EACA,YAAY;AAAA,IACV,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,UAAU,CAAC,4DAA4D;AAAA,IACvE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,cAAc,CAAC,kDAAkD;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,iBAAiB,CAAC,8CAA8C;AAAA,IAChE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT;AAAA,IACF;AAAA,IACA,YAAY,CAAC,iDAAiD;AAAA,EAChE;AAAA,EACA,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE;AAAA,EAC/B,OAAO;AAAA,IACL,gBAAgB,CAAC,2BAA2B;AAAA,IAC5C,QAAQ,CAAC,aAAa;AAAA,IACtB,eAAe,CAAC,gCAAgC;AAAA,IAChD,QAAQ,CAAC,yBAAyB;AAAA,IAClC,eAAe,CAAC,+CAA+C;AAAA,IAC/D,MAAM,CAAC,6BAA6B;AAAA,IACpC,KAAK,CAAC,sBAAsB;AAAA,IAC5B,YAAY,CAAC,4CAA4C;AAAA,IACzD,aAAa,CAAC,4BAA4B;AAAA,IAC1C,MAAM,CAAC,YAAY;AAAA,IACnB,cAAc,CAAC,+BAA+B;AAAA,IAC9C,aAAa,CAAC,8BAA8B;AAAA,IAC5C,aAAa,CAAC,6BAA6B;AAAA,IAC3C,WAAW,CAAC,4BAA4B;AAAA,IACxC,YAAY,CAAC,mBAAmB;AAAA,IAChC,aAAa,CAAC,oBAAoB;AAAA,IAClC,MAAM,CAAC,2BAA2B;AAAA,IAClC,QAAQ,CAAC,8BAA8B;AAAA,IACvC,QAAQ,CAAC,wBAAwB;AAAA,IACjC,eAAe,CAAC,8CAA8C;AAAA,EAChE;AAAA,EACA,KAAK;AAAA,IACH,YAAY,CAAC,sCAAsC;AAAA,IACnD,cAAc,CAAC,wCAAwC;AAAA,IACvD,WAAW,CAAC,qCAAqC;AAAA,IACjD,WAAW,CAAC,qCAAqC;AAAA,IACjD,YAAY,CAAC,sCAAsC;AAAA,IACnD,WAAW,CAAC,6CAA6C;AAAA,IACzD,SAAS,CAAC,gDAAgD;AAAA,IAC1D,WAAW,CAAC,oDAAoD;AAAA,IAChE,QAAQ,CAAC,yCAAyC;AAAA,IAClD,QAAQ,CAAC,8CAA8C;AAAA,IACvD,SAAS,CAAC,gDAAgD;AAAA,IAC1D,kBAAkB,CAAC,mDAAmD;AAAA,IACtE,WAAW,CAAC,4CAA4C;AAAA,EAC1D;AAAA,EACA,WAAW;AAAA,IACT,iBAAiB,CAAC,0BAA0B;AAAA,IAC5C,aAAa,CAAC,iCAAiC;AAAA,EACjD;AAAA,EACA,cAAc;AAAA,IACZ,qCAAqC,CAAC,8BAA8B;AAAA,IACpE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,wBAAwB,CAAC,8CAA8C;AAAA,IACvE,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,qCAAqC,EAAE;AAAA,IACrE;AAAA,IACA,wCAAwC,CAAC,iCAAiC;AAAA,IAC1E,0BAA0B,CAAC,uCAAuC;AAAA,IAClE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,wCAAwC,EAAE;AAAA,IACxE;AAAA,IACA,qCAAqC,CAAC,8BAA8B;AAAA,IACpE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,wBAAwB,CAAC,8CAA8C;AAAA,IACvE,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,qCAAqC,EAAE;AAAA,IACrE;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,WAAW,CAAC,yDAAyD;AAAA,IACrE,wBAAwB,CAAC,gDAAgD;AAAA,IACzE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,mCAAmC;AAAA,IAC5C,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mCAAmC;AAAA,IACjD,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,aAAa,CAAC,4CAA4C;AAAA,IAC1D,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,KAAK,CAAC,iDAAiD;AAAA,IACvD,YAAY,CAAC,wDAAwD;AAAA,IACrE,UAAU,CAAC,oDAAoD;AAAA,IAC/D,UAAU,CAAC,yCAAyC;AAAA,IACpD,cAAc,CAAC,yDAAyD;AAAA,IACxE,MAAM,CAAC,aAAa;AAAA,IACpB,eAAe,CAAC,qCAAqC;AAAA,IACrD,cAAc,CAAC,0DAA0D;AAAA,IACzE,qBAAqB,CAAC,2CAA2C;AAAA,IACjE,YAAY,CAAC,wDAAwD;AAAA,IACrE,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,kBAAkB;AAAA,IAC7C,YAAY,CAAC,wBAAwB;AAAA,IACrC,aAAa,CAAC,kCAAkC;AAAA,IAChD,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,kCAAkC;AAAA,IACtD,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sCAAsC;AAAA,IACvD,MAAM,CAAC,sDAAsD;AAAA,IAC7D,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,WAAW,CAAC,wDAAwD;AAAA,IACpE,QAAQ,CAAC,yDAAyD;AAAA,IAClE,QAAQ,CAAC,mDAAmD;AAAA,IAC5D,eAAe,CAAC,0DAA0D;AAAA,IAC1E,aAAa,CAAC,2CAA2C;AAAA,IACzD,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,KAAK,CAAC,yBAAyB;AAAA,IAC/B,oBAAoB,CAAC,eAAe;AAAA,IACpC,YAAY,CAAC,mCAAmC;AAAA,EAClD;AAAA,EACA,UAAU;AAAA,IACR,QAAQ,CAAC,gBAAgB;AAAA,IACzB,WAAW;AAAA,MACT;AAAA,MACA,EAAE,SAAS,EAAE,gBAAgB,4BAA4B,EAAE;AAAA,IAC7D;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,KAAK,CAAC,WAAW;AAAA,IACjB,gBAAgB,CAAC,eAAe;AAAA,IAChC,YAAY,CAAC,cAAc;AAAA,IAC3B,QAAQ,CAAC,UAAU;AAAA,IACnB,MAAM,CAAC,OAAO;AAAA,EAChB;AAAA,EACA,YAAY;AAAA,IACV,cAAc,CAAC,qCAAqC;AAAA,IACpD,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,iBAAiB,CAAC,kCAAkC;AAAA,IACpD,eAAe,CAAC,8CAA8C;AAAA,IAC9D,+BAA+B,CAAC,qCAAqC;AAAA,IACrE,iBAAiB,CAAC,2CAA2C;AAAA,IAC7D,0BAA0B,CAAC,sBAAsB;AAAA,IACjD,YAAY,CAAC,4BAA4B;AAAA,IACzC,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,wDAAwD;AAAA,IAC1E,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,cAAc,+BAA+B,EAAE;AAAA,IAC7D;AAAA,IACA,iBAAiB,CAAC,wDAAwD;AAAA,IAC1E,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,2BAA2B,CAAC,uBAAuB;AAAA,IACnD,aAAa,CAAC,6BAA6B;AAAA,IAC3C,aAAa,CAAC,kCAAkC;AAAA,IAChD,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,oCAAoC;AAAA,EACrD;AAAA,EACA,MAAM;AAAA,IACJ,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,WAAW,CAAC,mCAAmC;AAAA,IAC/C,kBAAkB,CAAC,gDAAgD;AAAA,IACnE,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,wBAAwB,CAAC,oCAAoC;AAAA,IAC7D,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,8BAA8B;AAAA,IACjD,eAAe,CAAC,wBAAwB;AAAA,IACxC,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,eAAe,CAAC,oCAAoC;AAAA,IACpD,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,KAAK,CAAC,iBAAiB;AAAA,IACvB,mCAAmC,CAAC,kCAAkC;AAAA,IACtE,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,YAAY,CAAC,iCAAiC;AAAA,IAC9C,wBAAwB,CAAC,wCAAwC;AAAA,IACjE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,MAAM,CAAC,oBAAoB;AAAA,IAC3B,sBAAsB,CAAC,+BAA+B;AAAA,IACtD,kBAAkB,CAAC,wBAAwB;AAAA,IAC3C,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,0BAA0B,CAAC,gBAAgB;AAAA,IAC3C,aAAa,CAAC,4BAA4B;AAAA,IAC1C,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,aAAa,CAAC,yBAAyB;AAAA,IACvC,qCAAqC,CAAC,4BAA4B;AAAA,IAClE,0BAA0B,CAAC,uCAAuC;AAAA,IAClE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,gDAAgD;AAAA,IACvE,eAAe,CAAC,wCAAwC;AAAA,IACxD,wBAAwB,CAAC,6BAA6B;AAAA,IACtD,mBAAmB,CAAC,gCAAgC;AAAA,IACpD,0BAA0B,CAAC,mCAAmC;AAAA,IAC9D,uBAAuB,CAAC,4CAA4C;AAAA,IACpE,cAAc,CAAC,uBAAuB;AAAA,IACtC,aAAa,CAAC,wCAAwC;AAAA,IACtD,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,uCAAuC;AAAA,IACtD,yBAAyB,CAAC,2CAA2C;AAAA,IACrE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,sCAAsC;AAAA,IACpD,QAAQ,CAAC,mBAAmB;AAAA,IAC5B,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,eAAe,CAAC,mCAAmC;AAAA,IACnD,2BAA2B,CAAC,0CAA0C;AAAA,EACxE;AAAA,EACA,UAAU;AAAA,IACR,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,YAAY,2CAA2C,EAAE;AAAA,IACvE;AAAA,IACA,6DAA6D;AAAA,MAC3D;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,SAAS;AAAA,UACP;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,yDAAyD;AAAA,MACvD;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,4DAA4D;AAAA,MAC1D;AAAA,IACF;AAAA,IACA,uDAAuD;AAAA,MACrD;AAAA,IACF;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,kCAAkC,CAAC,oBAAoB;AAAA,IACvD,6BAA6B,CAAC,0BAA0B;AAAA,IACxD,qBAAqB,CAAC,gCAAgC;AAAA,IACtD,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,YAAY,CAAC,0CAA0C;AAAA,IACvD,cAAc,CAAC,qCAAqC;AAAA,IACpD,4BAA4B,CAAC,qBAAqB;AAAA,IAClD,cAAc,CAAC,2BAA2B;AAAA,IAC1C,eAAe,CAAC,qCAAqC;AAAA,IACrD,QAAQ,CAAC,+BAA+B;AAAA,IACxC,YAAY,CAAC,0CAA0C;AAAA,IACvD,cAAc,CAAC,sCAAsC;AAAA,IACrD,KAAK,CAAC,4BAA4B;AAAA,IAClC,SAAS,CAAC,uCAAuC;AAAA,IACjD,WAAW,CAAC,mCAAmC;AAAA,IAC/C,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,WAAW,CAAC,yCAAyC;AAAA,IACrD,mBAAmB,CAAC,0CAA0C;AAAA,IAC9D,aAAa,CAAC,oCAAoC;AAAA,IAClD,YAAY,CAAC,0BAA0B;AAAA,IACvC,aAAa,CAAC,oCAAoC;AAAA,IAClD,aAAa,CAAC,gCAAgC;AAAA,IAC9C,UAAU,CAAC,8CAA8C;AAAA,IACzD,YAAY,CAAC,0CAA0C;AAAA,IACvD,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,8BAA8B;AAAA,IACvC,YAAY,CAAC,yCAAyC;AAAA,IACtD,cAAc,CAAC,qCAAqC;AAAA,EACtD;AAAA,EACA,OAAO;AAAA,IACL,eAAe,CAAC,qDAAqD;AAAA,IACrE,QAAQ,CAAC,kCAAkC;AAAA,IAC3C,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,cAAc,CAAC,wDAAwD;AAAA,IACvE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,KAAK,CAAC,+CAA+C;AAAA,IACrD,WAAW;AAAA,MACT;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uDAAuD;AAAA,IAC1E,MAAM,CAAC,iCAAiC;AAAA,IACxC,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,uDAAuD;AAAA,IACrE,WAAW,CAAC,qDAAqD;AAAA,IACjE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,0CAA0C;AAAA,IACtE,aAAa,CAAC,uDAAuD;AAAA,IACrE,OAAO,CAAC,qDAAqD;AAAA,IAC7D,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,iDAAiD;AAAA,IAC1D,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EACA,WAAW,EAAE,KAAK,CAAC,iBAAiB,EAAE;AAAA,EACtC,WAAW;AAAA,IACT,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,2DAA2D;AAAA,IAC1E,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,sCAAsC,EAAE;AAAA,IAC/D;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,iBAAiB,CAAC,oDAAoD;AAAA,IACtE,wBAAwB;AAAA,MACtB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,6CAA6C;AAAA,IAChE,gBAAgB,CAAC,mDAAmD;AAAA,IACpE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sCAAsC;AAAA,IACvD,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,2CAA2C;AAAA,IAChE,iBAAiB,CAAC,iCAAiC;AAAA,IACnD,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,uCAAuC;AAAA,IAC7D,4BAA4B,CAAC,kBAAkB;AAAA,IAC/C,YAAY,CAAC,kCAAkC;AAAA,IAC/C,aAAa,CAAC,wBAAwB;AAAA,IACtC,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,2CAA2C;AAAA,IACxE,kBAAkB,CAAC,2BAA2B;AAAA,IAC9C,uBAAuB,CAAC,6CAA6C;AAAA,IACrE,iBAAiB,CAAC,kCAAkC;AAAA,IACpD,eAAe,CAAC,qCAAqC;AAAA,IACrD,mBAAmB,CAAC,qCAAqC;AAAA,IACzD,qBAAqB,CAAC,4CAA4C;AAAA,IAClE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,kCAAkC;AAAA,IAClD,mBAAmB;AAAA,MACjB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,uCAAuC,EAAE;AAAA,IAChE;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,8BAA8B;AAAA,IACvC,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sDAAsD;AAAA,IACvE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,oDAAoD;AAAA,IAC1E,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,4CAA4C;AAAA,IAC9D,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,YAAY,CAAC,8CAA8C;AAAA,IAC3D,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,iBAAiB,CAAC,oCAAoC;AAAA,IACtD,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,eAAe,CAAC,oDAAoD;AAAA,IACpE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,8CAA8C;AAAA,IAC9D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wBAAwB,EAAE;AAAA,IACjD;AAAA,IACA,wBAAwB,CAAC,yCAAyC;AAAA,IAClE,wBAAwB,CAAC,yCAAyC;AAAA,IAClE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,KAAK,CAAC,2BAA2B;AAAA,IACjC,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,kCAAkC;AAAA,IACjD,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mDAAmD;AAAA,IACjE,WAAW,CAAC,6CAA6C;AAAA,IACzD,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,mDAAmD;AAAA,IACpE,WAAW,CAAC,0CAA0C;AAAA,IACtD,uBAAuB,CAAC,gDAAgD;AAAA,IACxE,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,gDAAgD;AAAA,IAC1E,WAAW,CAAC,yCAAyC;AAAA,IACrD,wBAAwB,CAAC,iDAAiD;AAAA,IAC1E,kBAAkB,CAAC,iDAAiD;AAAA,IACpE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,6CAA6C;AAAA,IAC1E,YAAY,CAAC,2CAA2C;AAAA,IACxD,sBAAsB,CAAC,8CAA8C;AAAA,IACrE,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,cAAc,CAAC,yCAAyC;AAAA,IACxD,eAAe,CAAC,uDAAuD;AAAA,IACvE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,+CAA+C;AAAA,IACrE,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,eAAe,CAAC,uCAAuC;AAAA,IACvD,gBAAgB,CAAC,0BAA0B;AAAA,IAC3C,UAAU,CAAC,iCAAiC;AAAA,IAC5C,eAAe,CAAC,mDAAmD;AAAA,IACnE,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,uBAAuB,CAAC,+CAA+C;AAAA,IACvE,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,WAAW,CAAC,kCAAkC;AAAA,IAC9C,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,YAAY,CAAC,iDAAiD;AAAA,IAC9D,iBAAiB,CAAC,sDAAsD;AAAA,IACxE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,gBAAgB,CAAC,iDAAiD;AAAA,IAClE,iBAAiB,CAAC,oCAAoC;AAAA,IACtD,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,iDAAiD;AAAA,IAC/D,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,UAAU,CAAC,yCAAyC;AAAA,IACpD,YAAY,CAAC,2CAA2C;AAAA,IACxD,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,eAAe,CAAC,qCAAqC;AAAA,IACrD,cAAc,CAAC,oCAAoC;AAAA,IACnD,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,oCAAoC;AAAA,IAChE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mCAAmC;AAAA,IACjD,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,gCAAgC;AAAA,IACjD,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,0BAA0B,CAAC,iBAAiB;AAAA,IAC5C,YAAY,CAAC,uBAAuB;AAAA,IACpC,aAAa,CAAC,6BAA6B;AAAA,IAC3C,WAAW,CAAC,iCAAiC;AAAA,IAC7C,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,qCAAqC,CAAC,kCAAkC;AAAA,IACxE,eAAe,CAAC,qCAAqC;AAAA,IACrD,iBAAiB,CAAC,wCAAwC;AAAA,IAC1D,YAAY,CAAC,mBAAmB;AAAA,IAChC,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,oCAAoC;AAAA,IACnD,mBAAmB,CAAC,2CAA2C;AAAA,IAC/D,UAAU,CAAC,gCAAgC;AAAA,IAC3C,WAAW,CAAC,iCAAiC;AAAA,IAC7C,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,iCAAiC;AAAA,IAChD,OAAO,CAAC,mCAAmC;AAAA,IAC3C,eAAe,CAAC,2CAA2C;AAAA,IAC3D,aAAa,CAAC,kDAAkD;AAAA,IAChE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,cAAc,CAAC,qDAAqD;AAAA,IACpE,kBAAkB,CAAC,kCAAkC;AAAA,IACrD,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,UAAU,CAAC,qCAAqC;AAAA,IAChD,QAAQ,CAAC,6BAA6B;AAAA,IACtC,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,iCAAiC,CAAC,iCAAiC;AAAA,IACnE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uCAAuC;AAAA,IAC1D,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,eAAe,CAAC,mDAAmD;AAAA,IACnE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,iDAAiD;AAAA,IACrE,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,6BAA6B,EAAE;AAAA,IACtD;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,eAAe,CAAC,6CAA6C;AAAA,IAC7D,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA,EAAE,SAAS,6BAA6B;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,MAAM,CAAC,kBAAkB;AAAA,IACzB,SAAS,CAAC,qBAAqB;AAAA,IAC/B,uBAAuB,CAAC,oBAAoB;AAAA,IAC5C,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,OAAO,CAAC,0BAA0B;AAAA,IAClC,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,OAAO,CAAC,mBAAmB;AAAA,EAC7B;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,MACR;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,mBAAmB,CAAC,kDAAkD;AAAA,IACtE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,IAClB,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,2BAA2B;AAAA,IAC/C,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,iBAAiB;AAAA,IACxC,6BAA6B,CAAC,qCAAqC;AAAA,IACnE,0BAA0B,CAAC,+CAA+C;AAAA,IAC1E,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,wBAAwB;AAAA,IACjC,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB,CAAC,gDAAgD;AAAA,IACxE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,sCAAsC;AAAA,IACpD,WAAW,CAAC,mCAAmC;AAAA,IAC/C,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,MAAM,CAAC,uBAAuB;AAAA,IAC9B,gBAAgB,CAAC,yCAAyC;AAAA,IAC1D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,+CAA+C;AAAA,IACtE,0BAA0B,CAAC,iBAAiB;AAAA,IAC5C,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,gBAAgB,CAAC,yCAAyC;AAAA,IAC1D,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,qCAAqC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,IACL,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,8BAA8B,EAAE;AAAA,IACvD;AAAA,IACA,8BAA8B,CAAC,mBAAmB;AAAA,IAClD,sCAAsC,CAAC,4BAA4B;AAAA,IACnE,OAAO,CAAC,6BAA6B;AAAA,IACrC,cAAc,CAAC,6BAA6B;AAAA,IAC5C,uBAAuB,CAAC,+CAA+C;AAAA,IACvE,sCAAsC,CAAC,gCAAgC;AAAA,IACvE,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,kCAAkC,EAAE;AAAA,IAC3D;AAAA,IACA,kCAAkC,CAAC,qBAAqB;AAAA,IACxD,oCAAoC;AAAA,MAClC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wCAAwC,EAAE;AAAA,IACjE;AAAA,IACA,wCAAwC,CAAC,iBAAiB;AAAA,IAC1D,yCAAyC,CAAC,6BAA6B;AAAA,IACvE,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,qBAAqB;AAAA,IACvD,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,kCAAkC,EAAE;AAAA,IAC3D;AAAA,IACA,kCAAkC,CAAC,oCAAoC;AAAA,IACvE,oCAAoC;AAAA,MAClC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wCAAwC,EAAE;AAAA,IACjE;AAAA,IACA,wCAAwC,CAAC,4BAA4B;AAAA,IACrE,yCAAyC,CAAC,8BAA8B;AAAA,IACxE,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,gCAAgC;AAAA,IACzC,kBAAkB,CAAC,WAAW;AAAA,IAC9B,eAAe,CAAC,uBAAuB;AAAA,IACvC,mBAAmB,CAAC,iCAAiC;AAAA,IACrD,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,+BAA+B,EAAE;AAAA,IACxD;AAAA,IACA,+BAA+B,CAAC,iCAAiC;AAAA,IACjE,iCAAiC;AAAA,MAC/B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,qCAAqC,EAAE;AAAA,IAC9D;AAAA,IACA,qCAAqC,CAAC,yBAAyB;AAAA,IAC/D,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,MAAM,CAAC,YAAY;AAAA,IACnB,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,gCAAgC,EAAE;AAAA,IACzD;AAAA,IACA,gCAAgC,CAAC,kBAAkB;AAAA,IACnD,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,gCAAgC,EAAE;AAAA,IACzD;AAAA,IACA,gCAAgC,CAAC,kBAAkB;AAAA,IACnD,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,qBAAqB;AAAA,IACvD,mCAAmC,CAAC,qBAAqB;AAAA,IACzD,sBAAsB,CAAC,iCAAiC;AAAA,IACxD,sBAAsB,CAAC,iCAAiC;AAAA,IACxD,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,oBAAoB;AAAA,IACtD,oBAAoB,CAAC,gCAAgC;AAAA,IACrD,kCAAkC;AAAA,MAChC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,sCAAsC,EAAE;AAAA,IAC/D;AAAA,IACA,sCAAsC,CAAC,yBAAyB;AAAA,IAChE,uBAAuB,CAAC,4BAA4B;AAAA,IACpD,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,uCAAuC,EAAE;AAAA,IAChE;AAAA,IACA,uCAAuC,CAAC,gBAAgB;AAAA,IACxD,wCAAwC,CAAC,2BAA2B;AAAA,IACpE,2BAA2B,CAAC,uCAAuC;AAAA,IACnE,wCAAwC,CAAC,4BAA4B;AAAA,IACrE,2BAA2B,CAAC,wCAAwC;AAAA,IACpE,2CAA2C;AAAA,MACzC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,+CAA+C,EAAE;AAAA,IACxE;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,SAAS,CAAC,gCAAgC;AAAA,IAC1C,UAAU,CAAC,mCAAmC;AAAA,IAC9C,qBAAqB,CAAC,aAAa;AAAA,EACrC;AACF;AACA,IAAI,oBAAoB;;;AC5zDxB,IAAM,qBAAqC,oBAAI,IAAI;AACnD,WAAW,CAAC,OAAO,SAAS,KAAK,OAAO,QAAQ,iBAAS,GAAG;AAC1D,aAAW,CAAC,YAAY,QAAQ,KAAK,OAAO,QAAQ,SAAS,GAAG;AAC9D,UAAM,CAAC,OAAO,UAAU,WAAW,IAAI;AACvC,UAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACrC,UAAM,mBAAmB,OAAO;AAAA,MAC9B;AAAA,QACE;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,QAAI,CAAC,mBAAmB,IAAI,KAAK,GAAG;AAClC,yBAAmB,IAAI,OAAuB,oBAAI,IAAI,CAAC;AAAA,IACzD;AACA,uBAAmB,IAAI,KAAK,EAAE,IAAI,YAAY;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AACA,IAAM,UAAU;AAAA,EACd,IAAI,EAAE,MAAM,GAAG,YAAY;AACzB,WAAO,mBAAmB,IAAI,KAAK,EAAE,IAAI,UAAU;AAAA,EACrD;AAAA,EACA,yBAAyB,QAAQ,YAAY;AAC3C,WAAO;AAAA,MACL,OAAO,KAAK,IAAI,QAAQ,UAAU;AAAA;AAAA,MAElC,cAAc;AAAA,MACd,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,eAAe,QAAQ,YAAY,YAAY;AAC7C,WAAO,eAAe,OAAO,OAAO,YAAY,UAAU;AAC1D,WAAO;AAAA,EACT;AAAA,EACA,eAAe,QAAQ,YAAY;AACjC,WAAO,OAAO,MAAM,UAAU;AAC9B,WAAO;AAAA,EACT;AAAA,EACA,QAAQ,EAAE,MAAM,GAAG;AACjB,WAAO,CAAC,GAAG,mBAAmB,IAAI,KAAK,EAAE,KAAK,CAAC;AAAA,EACjD;AAAA,EACA,IAAI,QAAQ,YAAY,OAAO;AAC7B,WAAO,OAAO,MAAM,UAAU,IAAI;AAAA,EACpC;AAAA,EACA,IAAI,EAAE,SAAS,OAAO,MAAM,GAAG,YAAY;AACzC,QAAI,MAAM,UAAU,GAAG;AACrB,aAAO,MAAM,UAAU;AAAA,IACzB;AACA,UAAM,SAAS,mBAAmB,IAAI,KAAK,EAAE,IAAI,UAAU;AAC3D,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AACA,UAAM,EAAE,kBAAkB,YAAY,IAAI;AAC1C,QAAI,aAAa;AACf,YAAM,UAAU,IAAI;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,OAAO;AACL,YAAM,UAAU,IAAI,QAAQ,QAAQ,SAAS,gBAAgB;AAAA,IAC/D;AACA,WAAO,MAAM,UAAU;AAAA,EACzB;AACF;AACA,SAAS,mBAAmB,SAAS;AACnC,QAAM,aAAa,CAAC;AACpB,aAAW,SAAS,mBAAmB,KAAK,GAAG;AAC7C,eAAW,KAAK,IAAI,IAAI,MAAM,EAAE,SAAS,OAAO,OAAO,CAAC,EAAE,GAAG,OAAO;AAAA,EACtE;AACA,SAAO;AACT;AACA,SAAS,SAAS,SAAS,OAAO,YAAY,UAAU,aAAa;AACnE,QAAM,sBAAsB,QAAQ,QAAQ,SAAS,QAAQ;AAC7D,WAAS,mBAAmB,MAAM;AAChC,QAAI,UAAU,oBAAoB,SAAS,MAAM,GAAG,IAAI;AACxD,QAAI,YAAY,WAAW;AACzB,gBAAU,OAAO,OAAO,CAAC,GAAG,SAAS;AAAA,QACnC,MAAM,QAAQ,YAAY,SAAS;AAAA,QACnC,CAAC,YAAY,SAAS,GAAG;AAAA,MAC3B,CAAC;AACD,aAAO,oBAAoB,OAAO;AAAA,IACpC;AACA,QAAI,YAAY,SAAS;AACvB,YAAM,CAAC,UAAU,aAAa,IAAI,YAAY;AAC9C,cAAQ,IAAI;AAAA,QACV,WAAW,KAAK,IAAI,UAAU,kCAAkC,QAAQ,IAAI,aAAa;AAAA,MAC3F;AAAA,IACF;AACA,QAAI,YAAY,YAAY;AAC1B,cAAQ,IAAI,KAAK,YAAY,UAAU;AAAA,IACzC;AACA,QAAI,YAAY,mBAAmB;AACjC,YAAM,WAAW,oBAAoB,SAAS,MAAM,GAAG,IAAI;AAC3D,iBAAW,CAAC,MAAM,KAAK,KAAK,OAAO;AAAA,QACjC,YAAY;AAAA,MACd,GAAG;AACD,YAAI,QAAQ,UAAU;AACpB,kBAAQ,IAAI;AAAA,YACV,IAAI,IAAI,0CAA0C,KAAK,IAAI,UAAU,aAAa,KAAK;AAAA,UACzF;AACA,cAAI,EAAE,SAAS,WAAW;AACxB,qBAAS,KAAK,IAAI,SAAS,IAAI;AAAA,UACjC;AACA,iBAAO,SAAS,IAAI;AAAA,QACtB;AAAA,MACF;AACA,aAAO,oBAAoB,QAAQ;AAAA,IACrC;AACA,WAAO,oBAAoB,GAAG,IAAI;AAAA,EACpC;AACA,SAAO,OAAO,OAAO,iBAAiB,mBAAmB;AAC3D;;;AHvHA,SAAS,oBAAoB,SAAS;AACpC,QAAM,MAAM,mBAAmB,OAAO;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;AACA,oBAAoB,UAAU;AAC9B,SAAS,0BAA0B,SAAS;AAC1C,QAAM,MAAM,mBAAmB,OAAO;AACtC,SAAO;AAAA,IACL,GAAG;AAAA,IACH,MAAM;AAAA,EACR;AACF;AACA,0BAA0B,UAAU;", - "names": [] -} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js deleted file mode 100644 index 9abb8b0..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js +++ /dev/null @@ -1,125 +0,0 @@ -import ENDPOINTS from "./generated/endpoints"; -const endpointMethodsMap = /* @__PURE__ */ new Map(); -for (const [scope, endpoints] of Object.entries(ENDPOINTS)) { - 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); -} -export { - endpointsToMethods -}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js deleted file mode 100644 index 2da0eb9..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js +++ /dev/null @@ -1,1857 +0,0 @@ -const Endpoints = { - actions: { - addCustomLabelsToSelfHostedRunnerForOrg: [ - "POST /orgs/{org}/actions/runners/{runner_id}/labels" - ], - addCustomLabelsToSelfHostedRunnerForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - 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 /repositories/{repository_id}/environments/{environment_name}/variables" - ], - createOrUpdateEnvironmentSecret: [ - "PUT /repositories/{repository_id}/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 /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" - ], - deleteEnvironmentVariable: [ - "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" - ], - 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" - ], - 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}"], - getEnvironmentPublicKey: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" - ], - getEnvironmentSecret: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" - ], - getEnvironmentVariable: [ - "GET /repositories/{repository_id}/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" - ], - 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 /repositories/{repository_id}/environments/{environment_name}/secrets" - ], - listEnvironmentVariables: [ - "GET /repositories/{repository_id}/environments/{environment_name}/variables" - ], - 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" - ], - 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 /repositories/{repository_id}/environments/{environment_name}/variables/{name}" - ], - 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"], - 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" - ], - 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" - ] - }, - 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: { - deleteAnalysis: [ - "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" - ], - 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}" - ], - 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}"], - 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"] - }, - 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}" - ], - 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: { - addCopilotForBusinessSeatsForTeams: [ - "POST /orgs/{org}/copilot/billing/selected_teams" - ], - addCopilotForBusinessSeatsForUsers: [ - "POST /orgs/{org}/copilot/billing/selected_users" - ], - cancelCopilotSeatAssignmentForTeams: [ - "DELETE /orgs/{org}/copilot/billing/selected_teams" - ], - cancelCopilotSeatAssignmentForUsers: [ - "DELETE /orgs/{org}/copilot/billing/selected_users" - ], - getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], - getCopilotSeatAssignmentDetailsForUser: [ - "GET /orgs/{org}/members/{username}/copilot" - ], - listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] - }, - 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}" - ], - setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" - ] - }, - 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}"] - }, - 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" - ], - addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], - 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}"], - 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"], - 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"], - 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" - ], - removeLabel: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" - ], - 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: { - cancelImport: ["DELETE /repos/{owner}/{repo}/import"], - 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" - ], - getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], - getImportStatus: ["GET /repos/{owner}/{repo}/import"], - getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], - 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"] } - ], - mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], - setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], - startForAuthenticatedUser: ["POST /user/migrations"], - startForOrg: ["POST /orgs/{org}/migrations"], - startImport: ["PUT /repos/{owner}/{repo}/import"], - unlockRepoForAuthenticatedUser: [ - "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" - ], - unlockRepoForOrg: [ - "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" - ], - updateImport: ["PATCH /repos/{owner}/{repo}/import"] - }, - orgs: { - addSecurityManagerTeam: [ - "PUT /orgs/{org}/security-managers/teams/{team_slug}" - ], - 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}" - ], - createInvitation: ["POST /orgs/{org}/invitations"], - createWebhook: ["POST /orgs/{org}/hooks"], - delete: ["DELETE /orgs/{org}"], - deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], - enableOrDisableSecurityProductOnAllOrgRepos: [ - "POST /orgs/{org}/{security_product}/{enablement}" - ], - get: ["GET /orgs/{org}"], - getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], - getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], - 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"], - listBlockedUsers: ["GET /orgs/{org}/blocks"], - listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], - listForAuthenticatedUser: ["GET /user/orgs"], - listForUser: ["GET /users/{username}/orgs"], - listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], - listMembers: ["GET /orgs/{org}/members"], - listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], - 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"], - 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" - ], - 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}" - ], - reviewPatGrantRequest: [ - "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" - ], - reviewPatGrantRequestsInBulk: [ - "POST /orgs/{org}/personal-access-token-requests" - ], - setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], - setPublicMembershipForAuthenticatedUser: [ - "PUT /orgs/{org}/public_members/{username}" - ], - unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], - update: ["PATCH /orgs/{org}"], - 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" - ] - }, - projects: { - addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], - createCard: ["POST /projects/columns/{column_id}/cards"], - createColumn: ["POST /projects/{project_id}/columns"], - createForAuthenticatedUser: ["POST /user/projects"], - createForOrg: ["POST /orgs/{org}/projects"], - createForRepo: ["POST /repos/{owner}/{repo}/projects"], - delete: ["DELETE /projects/{project_id}"], - deleteCard: ["DELETE /projects/columns/cards/{card_id}"], - deleteColumn: ["DELETE /projects/columns/{column_id}"], - get: ["GET /projects/{project_id}"], - getCard: ["GET /projects/columns/cards/{card_id}"], - getColumn: ["GET /projects/columns/{column_id}"], - getPermissionForUser: [ - "GET /projects/{project_id}/collaborators/{username}/permission" - ], - listCards: ["GET /projects/columns/{column_id}/cards"], - listCollaborators: ["GET /projects/{project_id}/collaborators"], - listColumns: ["GET /projects/{project_id}/columns"], - listForOrg: ["GET /orgs/{org}/projects"], - listForRepo: ["GET /repos/{owner}/{repo}/projects"], - listForUser: ["GET /users/{username}/projects"], - moveCard: ["POST /projects/columns/cards/{card_id}/moves"], - moveColumn: ["POST /projects/columns/{column_id}/moves"], - removeCollaborator: [ - "DELETE /projects/{project_id}/collaborators/{username}" - ], - update: ["PATCH /projects/{project_id}"], - updateCard: ["PATCH /projects/columns/cards/{card_id}"], - updateColumn: ["PATCH /projects/columns/{column_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" } - ], - checkAutomatedSecurityFixes: [ - "GET /repos/{owner}/{repo}/automated-security-fixes" - ], - checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], - 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}" - ], - 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"], - 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/deployment"], - createPagesSite: ["POST /repos/{owner}/{repo}/pages"], - createRelease: ["POST /repos/{owner}/{repo}/releases"], - createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], - createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], - 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}"], - deleteTagProtection: [ - "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_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}" - ], - 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"], - 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}"], - 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}"], - getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_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"], - 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"], - listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], - 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"], - labels: ["GET /search/labels"], - repos: ["GET /search/repositories"], - topics: ["GET /search/topics"], - users: ["GET /search/users"] - }, - secretScanning: { - getAlert: [ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ], - 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" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ] - }, - securityAdvisories: { - 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}" - ], - addOrUpdateProjectPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - addOrUpdateRepoPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" - ], - checkPermissionsForProjectInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - 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" - ], - listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], - listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], - removeMembershipForUserInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" - ], - removeProjectInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - 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"], - 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"], - 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"], - 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; -export { - endpoints_default as default -}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/method-types.js deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/parameters-and-response-types.js deleted file mode 100644 index e69de29..0000000 diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js deleted file mode 100644 index 2fe13ac..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import { VERSION } from "./version"; -import { endpointsToMethods } from "./endpoints-to-methods"; -function restEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); - return { - rest: api - }; -} -restEndpointMethods.VERSION = VERSION; -function legacyRestEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); - return { - ...api, - rest: api - }; -} -legacyRestEndpointMethods.VERSION = VERSION; -export { - legacyRestEndpointMethods, - restEndpointMethods -}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js deleted file mode 100644 index 9f10d1c..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "10.0.1"; -export { - VERSION -}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts deleted file mode 100644 index d9eb8ca..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/endpoints-to-methods.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Octokit } from "@octokit/core"; -import type { RestEndpointMethods } from "./generated/method-types"; -export declare function endpointsToMethods(octokit: Octokit): RestEndpointMethods; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts deleted file mode 100644 index 930616e..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/endpoints.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { EndpointsDefaultsAndDecorations } from "../types"; -declare const Endpoints: EndpointsDefaultsAndDecorations; -export default Endpoints; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts deleted file mode 100644 index 765296f..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/method-types.d.ts +++ /dev/null @@ -1,11305 +0,0 @@ -import type { EndpointInterface, RequestInterface } from "@octokit/types"; -import type { RestEndpointMethodTypes } from "./parameters-and-response-types"; -export type RestEndpointMethods = { - actions: { - /** - * Add custom labels to a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - addCustomLabelsToSelfHostedRunnerForOrg: { - (params?: RestEndpointMethodTypes["actions"]["addCustomLabelsToSelfHostedRunnerForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Add custom labels to a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - addCustomLabelsToSelfHostedRunnerForRepo: { - (params?: RestEndpointMethodTypes["actions"]["addCustomLabelsToSelfHostedRunnerForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds a repository to an organization secret when the `visibility` for - * repository access is set to `selected`. The visibility is set when you [Create or - * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - addSelectedRepoToOrgSecret: { - (params?: RestEndpointMethodTypes["actions"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds a repository to an organization variable that is available to selected repositories. - * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - addSelectedRepoToOrgVariable: { - (params?: RestEndpointMethodTypes["actions"]["addSelectedRepoToOrgVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - approveWorkflowRun: { - (params?: RestEndpointMethodTypes["actions"]["approveWorkflowRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Cancels a workflow run using its `id`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - cancelWorkflowRun: { - (params?: RestEndpointMethodTypes["actions"]["cancelWorkflowRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - createEnvironmentVariable: { - (params?: RestEndpointMethodTypes["actions"]["createEnvironmentVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates or updates an environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - createOrUpdateEnvironmentSecret: { - (params?: RestEndpointMethodTypes["actions"]["createOrUpdateEnvironmentSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to - * use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. - * - * ``` - * const sodium = require('tweetsodium'); - * - * const key = "base64-encoded-public-key"; - * const value = "plain-text-secret"; - * - * // Convert the message and key to Uint8Array's (Buffer implements that interface) - * const messageBytes = Buffer.from(value); - * const keyBytes = Buffer.from(key, 'base64'); - * - * // Encrypt using LibSodium. - * const encryptedBytes = sodium.seal(messageBytes, keyBytes); - * - * // Base64 the encrypted secret - * const encrypted = Buffer.from(encryptedBytes).toString('base64'); - * - * console.log(encrypted); - * ``` - * - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` - */ - createOrUpdateOrgSecret: { - (params?: RestEndpointMethodTypes["actions"]["createOrUpdateOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - createOrUpdateRepoSecret: { - (params?: RestEndpointMethodTypes["actions"]["createOrUpdateRepoSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - createOrgVariable: { - (params?: RestEndpointMethodTypes["actions"]["createOrgVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` - */ - createRegistrationTokenForOrg: { - (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a token that you can pass to the `config` script. The token - * expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided - * by this endpoint. - * - * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` - */ - createRegistrationTokenForRepo: { - (params?: RestEndpointMethodTypes["actions"]["createRegistrationTokenForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - */ - createRemoveTokenForOrg: { - (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a token that you can pass to remove a self-hosted runner from - * a repository. The token expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from a repository, replace TOKEN with - * the remove token provided by this endpoint. - * - * ```config.sh remove --token TOKEN``` - */ - createRemoveTokenForRepo: { - (params?: RestEndpointMethodTypes["actions"]["createRemoveTokenForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - createRepoVariable: { - (params?: RestEndpointMethodTypes["actions"]["createRepoVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." - */ - createWorkflowDispatch: { - (params?: RestEndpointMethodTypes["actions"]["createWorkflowDispatch"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a GitHub Actions cache for a repository, using a cache ID. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - deleteActionsCacheById: { - (params?: RestEndpointMethodTypes["actions"]["deleteActionsCacheById"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - deleteActionsCacheByKey: { - (params?: RestEndpointMethodTypes["actions"]["deleteActionsCacheByKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - deleteArtifact: { - (params?: RestEndpointMethodTypes["actions"]["deleteArtifact"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a secret in an environment using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - deleteEnvironmentSecret: { - (params?: RestEndpointMethodTypes["actions"]["deleteEnvironmentSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes an environment variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - deleteEnvironmentVariable: { - (params?: RestEndpointMethodTypes["actions"]["deleteEnvironmentVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a secret in an organization using the secret name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - deleteOrgSecret: { - (params?: RestEndpointMethodTypes["actions"]["deleteOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes an organization variable using the variable name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - deleteOrgVariable: { - (params?: RestEndpointMethodTypes["actions"]["deleteOrgVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a secret in a repository using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - deleteRepoSecret: { - (params?: RestEndpointMethodTypes["actions"]["deleteRepoSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a repository variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - deleteRepoVariable: { - (params?: RestEndpointMethodTypes["actions"]["deleteRepoVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - deleteSelfHostedRunnerFromOrg: { - (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - deleteSelfHostedRunnerFromRepo: { - (params?: RestEndpointMethodTypes["actions"]["deleteSelfHostedRunnerFromRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. - */ - deleteWorkflowRun: { - (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - deleteWorkflowRunLogs: { - (params?: RestEndpointMethodTypes["actions"]["deleteWorkflowRunLogs"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - disableSelectedRepositoryGithubActionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["disableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - disableWorkflow: { - (params?: RestEndpointMethodTypes["actions"]["disableWorkflow"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in - * the response header to find the URL for the download. The `:archive_format` must be `zip`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - downloadArtifact: { - (params?: RestEndpointMethodTypes["actions"]["downloadArtifact"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. - */ - downloadJobLogsForWorkflowRun: { - (params?: RestEndpointMethodTypes["actions"]["downloadJobLogsForWorkflowRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - downloadWorkflowRunAttemptLogs: { - (params?: RestEndpointMethodTypes["actions"]["downloadWorkflowRunAttemptLogs"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. - */ - downloadWorkflowRunLogs: { - (params?: RestEndpointMethodTypes["actions"]["downloadWorkflowRunLogs"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - enableSelectedRepositoryGithubActionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["enableSelectedRepositoryGithubActionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - enableWorkflow: { - (params?: RestEndpointMethodTypes["actions"]["enableWorkflow"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - generateRunnerJitconfigForOrg: { - (params?: RestEndpointMethodTypes["actions"]["generateRunnerJitconfigForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - generateRunnerJitconfigForRepo: { - (params?: RestEndpointMethodTypes["actions"]["generateRunnerJitconfigForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getActionsCacheList: { - (params?: RestEndpointMethodTypes["actions"]["getActionsCacheList"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets GitHub Actions cache usage for a repository. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getActionsCacheUsage: { - (params?: RestEndpointMethodTypes["actions"]["getActionsCacheUsage"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists repositories and their GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - getActionsCacheUsageByRepoForOrg: { - (params?: RestEndpointMethodTypes["actions"]["getActionsCacheUsageByRepoForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the total GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - getActionsCacheUsageForOrg: { - (params?: RestEndpointMethodTypes["actions"]["getActionsCacheUsageForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - getAllowedActionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - getAllowedActionsRepository: { - (params?: RestEndpointMethodTypes["actions"]["getAllowedActionsRepository"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getArtifact: { - (params?: RestEndpointMethodTypes["actions"]["getArtifact"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get the public key for an environment, which you need to encrypt environment - * secrets. You need to encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - getEnvironmentPublicKey: { - (params?: RestEndpointMethodTypes["actions"]["getEnvironmentPublicKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a single environment secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - getEnvironmentSecret: { - (params?: RestEndpointMethodTypes["actions"]["getEnvironmentSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific variable in an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - getEnvironmentVariable: { - (params?: RestEndpointMethodTypes["actions"]["getEnvironmentVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, - * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - getGithubActionsDefaultWorkflowPermissionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["getGithubActionsDefaultWorkflowPermissionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, - * as well as if GitHub Actions can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - getGithubActionsDefaultWorkflowPermissionsRepository: { - (params?: RestEndpointMethodTypes["actions"]["getGithubActionsDefaultWorkflowPermissionsRepository"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - getGithubActionsPermissionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - getGithubActionsPermissionsRepository: { - (params?: RestEndpointMethodTypes["actions"]["getGithubActionsPermissionsRepository"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getJobForWorkflowRun: { - (params?: RestEndpointMethodTypes["actions"]["getJobForWorkflowRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - getOrgPublicKey: { - (params?: RestEndpointMethodTypes["actions"]["getOrgPublicKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a single organization secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - getOrgSecret: { - (params?: RestEndpointMethodTypes["actions"]["getOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific variable in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - getOrgVariable: { - (params?: RestEndpointMethodTypes["actions"]["getOrgVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get all deployment environments for a workflow run that are waiting for protection rules to pass. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getPendingDeploymentsForRun: { - (params?: RestEndpointMethodTypes["actions"]["getPendingDeploymentsForRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - * @deprecated octokit.rest.actions.getRepoPermissions() has been renamed to octokit.rest.actions.getGithubActionsPermissionsRepository() (2020-11-10) - */ - getRepoPermissions: { - (params?: RestEndpointMethodTypes["actions"]["getRepoPermissions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - getRepoPublicKey: { - (params?: RestEndpointMethodTypes["actions"]["getRepoPublicKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a single repository secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - getRepoSecret: { - (params?: RestEndpointMethodTypes["actions"]["getRepoSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific variable in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - getRepoVariable: { - (params?: RestEndpointMethodTypes["actions"]["getRepoVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getReviewsForRun: { - (params?: RestEndpointMethodTypes["actions"]["getReviewsForRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - getSelfHostedRunnerForOrg: { - (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - getSelfHostedRunnerForRepo: { - (params?: RestEndpointMethodTypes["actions"]["getSelfHostedRunnerForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getWorkflow: { - (params?: RestEndpointMethodTypes["actions"]["getWorkflow"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - getWorkflowAccessToRepository: { - (params?: RestEndpointMethodTypes["actions"]["getWorkflowAccessToRepository"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getWorkflowRun: { - (params?: RestEndpointMethodTypes["actions"]["getWorkflowRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. - */ - getWorkflowRunAttempt: { - (params?: RestEndpointMethodTypes["actions"]["getWorkflowRunAttempt"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getWorkflowRunUsage: { - (params?: RestEndpointMethodTypes["actions"]["getWorkflowRunUsage"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getWorkflowUsage: { - (params?: RestEndpointMethodTypes["actions"]["getWorkflowUsage"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - listArtifactsForRepo: { - (params?: RestEndpointMethodTypes["actions"]["listArtifactsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all secrets available in an environment without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - listEnvironmentSecrets: { - (params?: RestEndpointMethodTypes["actions"]["listEnvironmentSecrets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all environment variables. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - listEnvironmentVariables: { - (params?: RestEndpointMethodTypes["actions"]["listEnvironmentVariables"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - listJobsForWorkflowRun: { - (params?: RestEndpointMethodTypes["actions"]["listJobsForWorkflowRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - listJobsForWorkflowRunAttempt: { - (params?: RestEndpointMethodTypes["actions"]["listJobsForWorkflowRunAttempt"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all labels for a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - listLabelsForSelfHostedRunnerForOrg: { - (params?: RestEndpointMethodTypes["actions"]["listLabelsForSelfHostedRunnerForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all labels for a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - listLabelsForSelfHostedRunnerForRepo: { - (params?: RestEndpointMethodTypes["actions"]["listLabelsForSelfHostedRunnerForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all secrets available in an organization without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - listOrgSecrets: { - (params?: RestEndpointMethodTypes["actions"]["listOrgSecrets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all organization variables. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - listOrgVariables: { - (params?: RestEndpointMethodTypes["actions"]["listOrgVariables"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all organization secrets shared with a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - listRepoOrganizationSecrets: { - (params?: RestEndpointMethodTypes["actions"]["listRepoOrganizationSecrets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all organiation variables shared with a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - listRepoOrganizationVariables: { - (params?: RestEndpointMethodTypes["actions"]["listRepoOrganizationVariables"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all secrets available in a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - listRepoSecrets: { - (params?: RestEndpointMethodTypes["actions"]["listRepoSecrets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all repository variables. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - listRepoVariables: { - (params?: RestEndpointMethodTypes["actions"]["listRepoVariables"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - listRepoWorkflows: { - (params?: RestEndpointMethodTypes["actions"]["listRepoWorkflows"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - listRunnerApplicationsForOrg: { - (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - listRunnerApplicationsForRepo: { - (params?: RestEndpointMethodTypes["actions"]["listRunnerApplicationsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all repositories that have been selected when the `visibility` - * for repository access to a secret is set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - listSelectedReposForOrgSecret: { - (params?: RestEndpointMethodTypes["actions"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all repositories that can access an organization variable - * that is available to selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - listSelectedReposForOrgVariable: { - (params?: RestEndpointMethodTypes["actions"]["listSelectedReposForOrgVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - listSelectedRepositoriesEnabledGithubActionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["listSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all self-hosted runners configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - listSelfHostedRunnersForOrg: { - (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all self-hosted runners configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - listSelfHostedRunnersForRepo: { - (params?: RestEndpointMethodTypes["actions"]["listSelfHostedRunnersForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - listWorkflowRunArtifacts: { - (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunArtifacts"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - */ - listWorkflowRuns: { - (params?: RestEndpointMethodTypes["actions"]["listWorkflowRuns"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - listWorkflowRunsForRepo: { - (params?: RestEndpointMethodTypes["actions"]["listWorkflowRunsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Re-run a job and its dependent jobs in a workflow run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - reRunJobForWorkflowRun: { - (params?: RestEndpointMethodTypes["actions"]["reRunJobForWorkflowRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - reRunWorkflow: { - (params?: RestEndpointMethodTypes["actions"]["reRunWorkflow"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. - */ - reRunWorkflowFailedJobs: { - (params?: RestEndpointMethodTypes["actions"]["reRunWorkflowFailedJobs"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Remove all custom labels from a self-hosted runner configured in an - * organization. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - removeAllCustomLabelsFromSelfHostedRunnerForOrg: { - (params?: RestEndpointMethodTypes["actions"]["removeAllCustomLabelsFromSelfHostedRunnerForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Remove all custom labels from a self-hosted runner configured in a - * repository. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - removeAllCustomLabelsFromSelfHostedRunnerForRepo: { - (params?: RestEndpointMethodTypes["actions"]["removeAllCustomLabelsFromSelfHostedRunnerForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Remove a custom label from a self-hosted runner configured - * in an organization. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - removeCustomLabelFromSelfHostedRunnerForOrg: { - (params?: RestEndpointMethodTypes["actions"]["removeCustomLabelFromSelfHostedRunnerForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Remove a custom label from a self-hosted runner configured - * in a repository. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - removeCustomLabelFromSelfHostedRunnerForRepo: { - (params?: RestEndpointMethodTypes["actions"]["removeCustomLabelFromSelfHostedRunnerForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a repository from an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - removeSelectedRepoFromOrgSecret: { - (params?: RestEndpointMethodTypes["actions"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a repository from an organization variable that is - * available to selected repositories. Organization variables that are available to - * selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - removeSelectedRepoFromOrgVariable: { - (params?: RestEndpointMethodTypes["actions"]["removeSelectedRepoFromOrgVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * **Note:** GitHub Apps can only review their own custom deployment protection rules. - * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). - * - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. - */ - reviewCustomGatesForRun: { - (params?: RestEndpointMethodTypes["actions"]["reviewCustomGatesForRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Approve or reject pending deployments that are waiting on approval by a required reviewer. - * - * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. - */ - reviewPendingDeploymentsForRun: { - (params?: RestEndpointMethodTypes["actions"]["reviewPendingDeploymentsForRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - setAllowedActionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - setAllowedActionsRepository: { - (params?: RestEndpointMethodTypes["actions"]["setAllowedActionsRepository"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - setCustomLabelsForSelfHostedRunnerForOrg: { - (params?: RestEndpointMethodTypes["actions"]["setCustomLabelsForSelfHostedRunnerForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - setCustomLabelsForSelfHostedRunnerForRepo: { - (params?: RestEndpointMethodTypes["actions"]["setCustomLabelsForSelfHostedRunnerForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions - * can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - setGithubActionsDefaultWorkflowPermissionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["setGithubActionsDefaultWorkflowPermissionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions - * can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - setGithubActionsDefaultWorkflowPermissionsRepository: { - (params?: RestEndpointMethodTypes["actions"]["setGithubActionsDefaultWorkflowPermissionsRepository"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - setGithubActionsPermissionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - setGithubActionsPermissionsRepository: { - (params?: RestEndpointMethodTypes["actions"]["setGithubActionsPermissionsRepository"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Replaces all repositories for an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - setSelectedReposForOrgSecret: { - (params?: RestEndpointMethodTypes["actions"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Replaces all repositories for an organization variable that is available - * to selected repositories. Organization variables that are available to selected - * repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this - * endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - setSelectedReposForOrgVariable: { - (params?: RestEndpointMethodTypes["actions"]["setSelectedReposForOrgVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - setSelectedRepositoriesEnabledGithubActionsOrganization: { - (params?: RestEndpointMethodTypes["actions"]["setSelectedRepositoriesEnabledGithubActionsOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - setWorkflowAccessToRepository: { - (params?: RestEndpointMethodTypes["actions"]["setWorkflowAccessToRepository"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - updateEnvironmentVariable: { - (params?: RestEndpointMethodTypes["actions"]["updateEnvironmentVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - updateOrgVariable: { - (params?: RestEndpointMethodTypes["actions"]["updateOrgVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - updateRepoVariable: { - (params?: RestEndpointMethodTypes["actions"]["updateRepoVariable"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - activity: { - /** - * Whether the authenticated user has starred the repository. - */ - checkRepoIsStarredByAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["checkRepoIsStarredByAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). - */ - deleteRepoSubscription: { - (params?: RestEndpointMethodTypes["activity"]["deleteRepoSubscription"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. - */ - deleteThreadSubscription: { - (params?: RestEndpointMethodTypes["activity"]["deleteThreadSubscription"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: - * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) - * * **Current user public**: The public timeline for the authenticated user - * * **Current user**: The private timeline for the authenticated user - * * **Current user actor**: The private timeline for activity created by the authenticated user - * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. - * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. - * - * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. - */ - getFeeds: { - (params?: RestEndpointMethodTypes["activity"]["getFeeds"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about whether the authenticated user is subscribed to the repository. - */ - getRepoSubscription: { - (params?: RestEndpointMethodTypes["activity"]["getRepoSubscription"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about a notification thread. - */ - getThread: { - (params?: RestEndpointMethodTypes["activity"]["getThread"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). - * - * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. - */ - getThreadSubscriptionForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["getThreadSubscriptionForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. - */ - listEventsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["listEventsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all notifications for the current user, sorted by most recently updated. - */ - listNotificationsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["listNotificationsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This is the user's organization dashboard. You must be authenticated as the user to view this. - */ - listOrgEventsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["listOrgEventsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. - */ - listPublicEvents: { - (params?: RestEndpointMethodTypes["activity"]["listPublicEvents"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listPublicEventsForRepoNetwork: { - (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForRepoNetwork"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listPublicEventsForUser: { - (params?: RestEndpointMethodTypes["activity"]["listPublicEventsForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listPublicOrgEvents: { - (params?: RestEndpointMethodTypes["activity"]["listPublicOrgEvents"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. - */ - listReceivedEventsForUser: { - (params?: RestEndpointMethodTypes["activity"]["listReceivedEventsForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listReceivedPublicEventsForUser: { - (params?: RestEndpointMethodTypes["activity"]["listReceivedPublicEventsForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - listRepoEvents: { - (params?: RestEndpointMethodTypes["activity"]["listRepoEvents"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all notifications for the current user in the specified repository. - */ - listRepoNotificationsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["listRepoNotificationsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists repositories the authenticated user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - listReposStarredByAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["listReposStarredByAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists repositories a user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - listReposStarredByUser: { - (params?: RestEndpointMethodTypes["activity"]["listReposStarredByUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists repositories a user is watching. - */ - listReposWatchedByUser: { - (params?: RestEndpointMethodTypes["activity"]["listReposWatchedByUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the people that have starred the repository. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - listStargazersForRepo: { - (params?: RestEndpointMethodTypes["activity"]["listStargazersForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists repositories the authenticated user is watching. - */ - listWatchedReposForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["listWatchedReposForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the people watching the specified repository. - */ - listWatchersForRepo: { - (params?: RestEndpointMethodTypes["activity"]["listWatchersForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - markNotificationsAsRead: { - (params?: RestEndpointMethodTypes["activity"]["markNotificationsAsRead"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - markRepoNotificationsAsRead: { - (params?: RestEndpointMethodTypes["activity"]["markRepoNotificationsAsRead"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. - */ - markThreadAsRead: { - (params?: RestEndpointMethodTypes["activity"]["markThreadAsRead"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. - */ - setRepoSubscription: { - (params?: RestEndpointMethodTypes["activity"]["setRepoSubscription"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. - * - * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - * - * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. - */ - setThreadSubscription: { - (params?: RestEndpointMethodTypes["activity"]["setThreadSubscription"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - starRepoForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["starRepoForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Unstar a repository that the authenticated user has previously starred. - */ - unstarRepoForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["activity"]["unstarRepoForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - apps: { - /** - * Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - * @deprecated octokit.rest.apps.addRepoToInstallation() has been renamed to octokit.rest.apps.addRepoToInstallationForAuthenticatedUser() (2021-10-05) - */ - addRepoToInstallation: { - (params?: RestEndpointMethodTypes["apps"]["addRepoToInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - addRepoToInstallationForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["apps"]["addRepoToInstallationForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. - */ - checkToken: { - (params?: RestEndpointMethodTypes["apps"]["checkToken"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. - */ - createFromManifest: { - (params?: RestEndpointMethodTypes["apps"]["createFromManifest"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - createInstallationAccessToken: { - (params?: RestEndpointMethodTypes["apps"]["createInstallationAccessToken"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - deleteAuthorization: { - (params?: RestEndpointMethodTypes["apps"]["deleteAuthorization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - deleteInstallation: { - (params?: RestEndpointMethodTypes["apps"]["deleteInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. - */ - deleteToken: { - (params?: RestEndpointMethodTypes["apps"]["deleteToken"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - getAuthenticated: { - (params?: RestEndpointMethodTypes["apps"]["getAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - getBySlug: { - (params?: RestEndpointMethodTypes["apps"]["getBySlug"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - getInstallation: { - (params?: RestEndpointMethodTypes["apps"]["getInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables an authenticated GitHub App to find the organization's installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - getOrgInstallation: { - (params?: RestEndpointMethodTypes["apps"]["getOrgInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - getRepoInstallation: { - (params?: RestEndpointMethodTypes["apps"]["getRepoInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - getSubscriptionPlanForAccount: { - (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccount"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - getSubscriptionPlanForAccountStubbed: { - (params?: RestEndpointMethodTypes["apps"]["getSubscriptionPlanForAccountStubbed"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables an authenticated GitHub App to find the user’s installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - getUserInstallation: { - (params?: RestEndpointMethodTypes["apps"]["getUserInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - getWebhookConfigForApp: { - (params?: RestEndpointMethodTypes["apps"]["getWebhookConfigForApp"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - getWebhookDelivery: { - (params?: RestEndpointMethodTypes["apps"]["getWebhookDelivery"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - listAccountsForPlan: { - (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlan"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - listAccountsForPlanStubbed: { - (params?: RestEndpointMethodTypes["apps"]["listAccountsForPlanStubbed"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The access the user has to each repository is included in the hash under the `permissions` key. - */ - listInstallationReposForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["apps"]["listInstallationReposForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all the pending installation requests for the authenticated GitHub App. - */ - listInstallationRequestsForAuthenticatedApp: { - (params?: RestEndpointMethodTypes["apps"]["listInstallationRequestsForAuthenticatedApp"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. - */ - listInstallations: { - (params?: RestEndpointMethodTypes["apps"]["listInstallations"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You can find the permissions for the installation under the `permissions` key. - */ - listInstallationsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["apps"]["listInstallationsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - listPlans: { - (params?: RestEndpointMethodTypes["apps"]["listPlans"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - listPlansStubbed: { - (params?: RestEndpointMethodTypes["apps"]["listPlansStubbed"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - listReposAccessibleToInstallation: { - (params?: RestEndpointMethodTypes["apps"]["listReposAccessibleToInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - listSubscriptionsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - listSubscriptionsForAuthenticatedUserStubbed: { - (params?: RestEndpointMethodTypes["apps"]["listSubscriptionsForAuthenticatedUserStubbed"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a list of webhook deliveries for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - listWebhookDeliveries: { - (params?: RestEndpointMethodTypes["apps"]["listWebhookDeliveries"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Redeliver a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - redeliverWebhookDelivery: { - (params?: RestEndpointMethodTypes["apps"]["redeliverWebhookDelivery"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - * @deprecated octokit.rest.apps.removeRepoFromInstallation() has been renamed to octokit.rest.apps.removeRepoFromInstallationForAuthenticatedUser() (2021-10-05) - */ - removeRepoFromInstallation: { - (params?: RestEndpointMethodTypes["apps"]["removeRepoFromInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - removeRepoFromInstallationForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["apps"]["removeRepoFromInstallationForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - resetToken: { - (params?: RestEndpointMethodTypes["apps"]["resetToken"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Revokes the installation token you're using to authenticate as an installation and access this endpoint. - * - * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - revokeInstallationAccessToken: { - (params?: RestEndpointMethodTypes["apps"]["revokeInstallationAccessToken"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - scopeToken: { - (params?: RestEndpointMethodTypes["apps"]["scopeToken"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - suspendInstallation: { - (params?: RestEndpointMethodTypes["apps"]["suspendInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a GitHub App installation suspension. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - unsuspendInstallation: { - (params?: RestEndpointMethodTypes["apps"]["unsuspendInstallation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - updateWebhookConfigForApp: { - (params?: RestEndpointMethodTypes["apps"]["updateWebhookConfigForApp"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - billing: { - /** - * Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - getGithubActionsBillingOrg: { - (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `user` scope. - */ - getGithubActionsBillingUser: { - (params?: RestEndpointMethodTypes["billing"]["getGithubActionsBillingUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - getGithubPackagesBillingOrg: { - (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - getGithubPackagesBillingUser: { - (params?: RestEndpointMethodTypes["billing"]["getGithubPackagesBillingUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - getSharedStorageBillingOrg: { - (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - getSharedStorageBillingUser: { - (params?: RestEndpointMethodTypes["billing"]["getSharedStorageBillingUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - checks: { - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. - * - * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. - */ - create: { - (params?: RestEndpointMethodTypes["checks"]["create"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. - */ - createSuite: { - (params?: RestEndpointMethodTypes["checks"]["createSuite"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: { - (params?: RestEndpointMethodTypes["checks"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - getSuite: { - (params?: RestEndpointMethodTypes["checks"]["getSuite"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. - */ - listAnnotations: { - (params?: RestEndpointMethodTypes["checks"]["listAnnotations"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - listForRef: { - (params?: RestEndpointMethodTypes["checks"]["listForRef"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - listForSuite: { - (params?: RestEndpointMethodTypes["checks"]["listForSuite"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - listSuitesForRef: { - (params?: RestEndpointMethodTypes["checks"]["listSuitesForRef"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. - * - * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". - */ - rerequestRun: { - (params?: RestEndpointMethodTypes["checks"]["rerequestRun"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. - */ - rerequestSuite: { - (params?: RestEndpointMethodTypes["checks"]["rerequestSuite"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. - */ - setSuitesPreferences: { - (params?: RestEndpointMethodTypes["checks"]["setSuitesPreferences"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. - */ - update: { - (params?: RestEndpointMethodTypes["checks"]["update"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - codeScanning: { - /** - * Deletes a specified code scanning analysis from a repository. For - * private repositories, you must use an access token with the `repo` scope. For public repositories, - * you must use an access token with `public_repo` scope. - * GitHub Apps must have the `security_events` write permission to use this endpoint. - * - * You can delete one analysis at a time. - * To delete a series of analyses, start with the most recent analysis and work backwards. - * Conceptually, the process is similar to the undo function in a text editor. - * - * When you list the analyses for a repository, - * one or more will be identified as deletable in the response: - * - * ``` - * "deletable": true - * ``` - * - * An analysis is deletable when it's the most recent in a set of analyses. - * Typically, a repository will have multiple sets of analyses - * for each enabled code scanning tool, - * where a set is determined by a unique combination of analysis values: - * - * * `ref` - * * `tool` - * * `category` - * - * If you attempt to delete an analysis that is not the most recent in a set, - * you'll get a 400 response with the message: - * - * ``` - * Analysis specified is not deletable. - * ``` - * - * The response from a successful `DELETE` operation provides you with - * two alternative URLs for deleting the next analysis in the set: - * `next_analysis_url` and `confirm_delete_url`. - * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis - * in a set. This is a useful option if you want to preserve at least one analysis - * for the specified tool in your repository. - * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. - * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` - * in the 200 response is `null`. - * - * As an example of the deletion process, - * let's imagine that you added a workflow that configured a particular code scanning tool - * to analyze the code in a repository. This tool has added 15 analyses: - * 10 on the default branch, and another 5 on a topic branch. - * You therefore have two separate sets of analyses for this tool. - * You've now decided that you want to remove all of the analyses for the tool. - * To do this you must make 15 separate deletion requests. - * To start, you must find an analysis that's identified as deletable. - * Each set of analyses always has one that's identified as deletable. - * Having found the deletable analysis for one of the two sets, - * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. - * Then repeat the process for the second set. - * The procedure therefore consists of a nested loop: - * - * **Outer loop**: - * * List the analyses for the repository, filtered by tool. - * * Parse this list to find a deletable analysis. If found: - * - * **Inner loop**: - * * Delete the identified analysis. - * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. - * - * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. - */ - deleteAnalysis: { - (params?: RestEndpointMethodTypes["codeScanning"]["deleteAnalysis"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - getAlert: { - (params?: RestEndpointMethodTypes["codeScanning"]["getAlert"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * The default JSON response contains fields that describe the analysis. - * This includes the Git reference and commit SHA to which the analysis relates, - * the datetime of the analysis, the name of the code scanning tool, - * and the number of alerts. - * - * The `rules_count` field in the default response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * If you use the Accept header `application/sarif+json`, - * the response contains the analysis data that was uploaded. - * This is formatted as - * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). - */ - getAnalysis: { - (params?: RestEndpointMethodTypes["codeScanning"]["getAnalysis"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a CodeQL database for a language in a repository. - * - * By default this endpoint returns JSON metadata about the CodeQL database. To - * download the CodeQL database binary content, set the `Accept` header of the request - * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure - * your HTTP client is configured to follow redirects or use the `Location` header - * to make a second request to get the redirect URL. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - getCodeqlDatabase: { - (params?: RestEndpointMethodTypes["codeScanning"]["getCodeqlDatabase"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - getDefaultSetup: { - (params?: RestEndpointMethodTypes["codeScanning"]["getDefaultSetup"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - getSarif: { - (params?: RestEndpointMethodTypes["codeScanning"]["getSarif"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - listAlertInstances: { - (params?: RestEndpointMethodTypes["codeScanning"]["listAlertInstances"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - listAlertsForOrg: { - (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all open code scanning alerts for the default branch (usually `main` - * or `master`). You must use an access token with the `security_events` scope to use - * this endpoint with private repos, the `public_repo` scope also grants permission to read - * security events on public repos only. GitHub Apps must have the `security_events` read - * permission to use this endpoint. - * - * The response includes a `most_recent_instance` object. - * This provides details of the most recent instance of this alert - * for the default branch or for the specified Git reference - * (if you used `ref` in the request). - */ - listAlertsForRepo: { - (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * @deprecated octokit.rest.codeScanning.listAlertsInstances() has been renamed to octokit.rest.codeScanning.listAlertInstances() (2021-04-30) - */ - listAlertsInstances: { - (params?: RestEndpointMethodTypes["codeScanning"]["listAlertsInstances"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the CodeQL databases that are available in a repository. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - listCodeqlDatabases: { - (params?: RestEndpointMethodTypes["codeScanning"]["listCodeqlDatabases"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - listRecentAnalyses: { - (params?: RestEndpointMethodTypes["codeScanning"]["listRecentAnalyses"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. - */ - updateAlert: { - (params?: RestEndpointMethodTypes["codeScanning"]["updateAlert"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - updateDefaultSetup: { - (params?: RestEndpointMethodTypes["codeScanning"]["updateDefaultSetup"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." - * - * There are two places where you can upload code scanning results. - * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." - * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." - * - * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: - * - * ``` - * gzip -c analysis-data.sarif | base64 -w0 - * ``` - *
- * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. - * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." - * - * - * | **SARIF data** | **Maximum values** | **Additional limits** | - * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| - * | Runs per file | 20 | | - * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | - * | Rules per run | 25,000 | | - * | Tool extensions per run | 100 | | - * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | - * | Location per result | 1,000 | Only 100 locations will be included. | - * | Tags per rule | 20 | Only 10 tags will be included. | - * - * - * The `202 Accepted` response includes an `id` value. - * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. - * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." - */ - uploadSarif: { - (params?: RestEndpointMethodTypes["codeScanning"]["uploadSarif"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - codesOfConduct: { - /** - * Returns array of all GitHub's codes of conduct. - */ - getAllCodesOfConduct: { - (params?: RestEndpointMethodTypes["codesOfConduct"]["getAllCodesOfConduct"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns information about the specified GitHub code of conduct. - */ - getConductCode: { - (params?: RestEndpointMethodTypes["codesOfConduct"]["getConductCode"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - codespaces: { - /** - * Adds a repository to the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. - */ - addRepositoryForSecretForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["addRepositoryForSecretForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - addSelectedRepoToOrgSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the machine types a codespace can transition to use. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - codespaceMachinesForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["codespaceMachinesForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new codespace, owned by the authenticated user. - * - * This endpoint requires either a `repository_id` OR a `pull_request` but not both. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - createForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["createForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. - */ - createOrUpdateOrgSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["createOrUpdateOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` - * repository permission to use this endpoint. - */ - createOrUpdateRepoSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["createOrUpdateRepoSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - createOrUpdateSecretForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["createOrUpdateSecretForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a codespace owned by the authenticated user for the specified pull request. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - createWithPrForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["createWithPrForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a codespace owned by the authenticated user in the specified repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - createWithRepoForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["createWithRepoForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - deleteForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["deleteForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - deleteFromOrganization: { - (params?: RestEndpointMethodTypes["codespaces"]["deleteFromOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - deleteOrgSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["deleteOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - deleteRepoSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["deleteRepoSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - deleteSecretForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["deleteSecretForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. - * - * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - exportForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["exportForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the codespaces that a member of an organization has for repositories in that organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - getCodespacesForUserInOrg: { - (params?: RestEndpointMethodTypes["codespaces"]["getCodespacesForUserInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about an export of a codespace. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - getExportDetailsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["getExportDetailsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - getForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["getForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - getOrgPublicKey: { - (params?: RestEndpointMethodTypes["codespaces"]["getOrgPublicKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets an organization secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - getOrgSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["getOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - getPublicKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["getPublicKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - getRepoPublicKey: { - (params?: RestEndpointMethodTypes["codespaces"]["getRepoPublicKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - getRepoSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["getRepoSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a secret available to a user's codespaces without revealing its encrypted value. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - getSecretForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["getSecretForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files - * specify launchpoint configurations for codespaces created within the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - listDevcontainersInRepositoryForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["listDevcontainersInRepositoryForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the authenticated user's codespaces. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - listForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["listForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the codespaces associated to a specified organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - listInOrganization: { - (params?: RestEndpointMethodTypes["codespaces"]["listInOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the codespaces associated to a specified repository and the authenticated user. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - listInRepositoryForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["listInRepositoryForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - listOrgSecrets: { - (params?: RestEndpointMethodTypes["codespaces"]["listOrgSecrets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - listRepoSecrets: { - (params?: RestEndpointMethodTypes["codespaces"]["listRepoSecrets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the repositories that have been granted the ability to use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - listRepositoriesForSecretForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["listRepositoriesForSecretForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all secrets available for a user's Codespaces without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - listSecretsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["listSecretsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - listSelectedReposForOrgSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the default attributes for codespaces created by the user with the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - preFlightWithRepoForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["preFlightWithRepoForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. - * - * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. - * - * This will fail for a codespace that is already published, meaning it has an associated repository. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - publishForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["publishForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a repository from the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - removeRepositoryForSecretForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["removeRepositoryForSecretForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - removeSelectedRepoFromOrgSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the machine types available for a given repository based on its configuration. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. - */ - repoMachinesForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["repoMachinesForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Select the repositories that will use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - setRepositoriesForSecretForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["setRepositoriesForSecretForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - setSelectedReposForOrgSecret: { - (params?: RestEndpointMethodTypes["codespaces"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Starts a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - startForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["startForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Stops a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - stopForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["stopForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Stops a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - stopInOrganization: { - (params?: RestEndpointMethodTypes["codespaces"]["stopInOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. - * - * If you specify a new machine type it will be applied the next time your codespace is started. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - updateForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["codespaces"]["updateForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - copilot: { - /** - * **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for all users within each specified team. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - addCopilotForBusinessSeatsForTeams: { - (params?: RestEndpointMethodTypes["copilot"]["addCopilotForBusinessSeatsForTeams"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for each user specified. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - addCopilotForBusinessSeatsForUsers: { - (params?: RestEndpointMethodTypes["copilot"]["addCopilotForBusinessSeatsForUsers"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for all members of each team specified. - * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - cancelCopilotSeatAssignmentForTeams: { - (params?: RestEndpointMethodTypes["copilot"]["cancelCopilotSeatAssignmentForTeams"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for each user specified. - * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)" - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - cancelCopilotSeatAssignmentForUsers: { - (params?: RestEndpointMethodTypes["copilot"]["cancelCopilotSeatAssignmentForUsers"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note**: This endpoint is in beta and is subject to change. - * - * Gets information about an organization's Copilot for Business subscription, including seat breakdown - * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. - * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - getCopilotOrganizationDetails: { - (params?: RestEndpointMethodTypes["copilot"]["getCopilotOrganizationDetails"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note**: This endpoint is in beta and is subject to change. - * - * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot. - * - * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - getCopilotSeatAssignmentDetailsForUser: { - (params?: RestEndpointMethodTypes["copilot"]["getCopilotSeatAssignmentDetailsForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note**: This endpoint is in beta and is subject to change. - * - * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - listCopilotSeats: { - (params?: RestEndpointMethodTypes["copilot"]["listCopilotSeats"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - dependabot: { - /** - * Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - addSelectedRepoToOrgSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["addSelectedRepoToOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization - * permission to use this endpoint. - * - * #### Example encrypting a secret using Node.js - * - * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library. - * - * ``` - * const sodium = require('tweetsodium'); - * - * const key = "base64-encoded-public-key"; - * const value = "plain-text-secret"; - * - * // Convert the message and key to Uint8Array's (Buffer implements that interface) - * const messageBytes = Buffer.from(value); - * const keyBytes = Buffer.from(key, 'base64'); - * - * // Encrypt using LibSodium. - * const encryptedBytes = sodium.seal(messageBytes, keyBytes); - * - * // Base64 the encrypted secret - * const encrypted = Buffer.from(encryptedBytes).toString('base64'); - * - * console.log(encrypted); - * ``` - * - * - * #### Example encrypting a secret using Python - * - * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3. - * - * ``` - * from base64 import b64encode - * from nacl import encoding, public - * - * def encrypt(public_key: str, secret_value: str) -> str: - * """Encrypt a Unicode string using the public key.""" - * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - * sealed_box = public.SealedBox(public_key) - * encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - * return b64encode(encrypted).decode("utf-8") - * ``` - * - * #### Example encrypting a secret using C# - * - * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package. - * - * ``` - * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret"); - * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU="); - * - * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey); - * - * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox)); - * ``` - * - * #### Example encrypting a secret using Ruby - * - * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem. - * - * ```ruby - * require "rbnacl" - * require "base64" - * - * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=") - * public_key = RbNaCl::PublicKey.new(key) - * - * box = RbNaCl::Boxes::Sealed.from_public_key(public_key) - * encrypted_secret = box.encrypt("my_secret") - * - * # Print the base64 encoded secret - * puts Base64.strict_encode64(encrypted_secret) - * ``` - */ - createOrUpdateOrgSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["createOrUpdateOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository - * permission to use this endpoint. - */ - createOrUpdateRepoSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["createOrUpdateRepoSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - deleteOrgSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["deleteOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - deleteRepoSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["deleteRepoSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - getAlert: { - (params?: RestEndpointMethodTypes["dependabot"]["getAlert"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - getOrgPublicKey: { - (params?: RestEndpointMethodTypes["dependabot"]["getOrgPublicKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - getOrgSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["getOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - getRepoPublicKey: { - (params?: RestEndpointMethodTypes["dependabot"]["getRepoPublicKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - getRepoSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["getRepoSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. - * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - listAlertsForEnterprise: { - (params?: RestEndpointMethodTypes["dependabot"]["listAlertsForEnterprise"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists Dependabot alerts for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - listAlertsForOrg: { - (params?: RestEndpointMethodTypes["dependabot"]["listAlertsForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - listAlertsForRepo: { - (params?: RestEndpointMethodTypes["dependabot"]["listAlertsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - listOrgSecrets: { - (params?: RestEndpointMethodTypes["dependabot"]["listOrgSecrets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - listRepoSecrets: { - (params?: RestEndpointMethodTypes["dependabot"]["listRepoSecrets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - listSelectedReposForOrgSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["listSelectedReposForOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - removeSelectedRepoFromOrgSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["removeSelectedRepoFromOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - setSelectedReposForOrgSecret: { - (params?: RestEndpointMethodTypes["dependabot"]["setSelectedReposForOrgSecret"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. - * - * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." - */ - updateAlert: { - (params?: RestEndpointMethodTypes["dependabot"]["updateAlert"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - dependencyGraph: { - /** - * Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. - */ - createRepositorySnapshot: { - (params?: RestEndpointMethodTypes["dependencyGraph"]["createRepositorySnapshot"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. - */ - diffRange: { - (params?: RestEndpointMethodTypes["dependencyGraph"]["diffRange"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. - */ - exportSbom: { - (params?: RestEndpointMethodTypes["dependencyGraph"]["exportSbom"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - emojis: { - /** - * Lists all the emojis available to use on GitHub. - */ - get: { - (params?: RestEndpointMethodTypes["emojis"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - gists: { - checkIsStarred: { - (params?: RestEndpointMethodTypes["gists"]["checkIsStarred"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Allows you to add a new gist with one or more files. - * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. - */ - create: { - (params?: RestEndpointMethodTypes["gists"]["create"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - createComment: { - (params?: RestEndpointMethodTypes["gists"]["createComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - delete: { - (params?: RestEndpointMethodTypes["gists"]["delete"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - deleteComment: { - (params?: RestEndpointMethodTypes["gists"]["deleteComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - fork: { - (params?: RestEndpointMethodTypes["gists"]["fork"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - get: { - (params?: RestEndpointMethodTypes["gists"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - getComment: { - (params?: RestEndpointMethodTypes["gists"]["getComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - getRevision: { - (params?: RestEndpointMethodTypes["gists"]["getRevision"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: - */ - list: { - (params?: RestEndpointMethodTypes["gists"]["list"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listComments: { - (params?: RestEndpointMethodTypes["gists"]["listComments"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listCommits: { - (params?: RestEndpointMethodTypes["gists"]["listCommits"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists public gists for the specified user: - */ - listForUser: { - (params?: RestEndpointMethodTypes["gists"]["listForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listForks: { - (params?: RestEndpointMethodTypes["gists"]["listForks"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List public gists sorted by most recently updated to least recently updated. - * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. - */ - listPublic: { - (params?: RestEndpointMethodTypes["gists"]["listPublic"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the authenticated user's starred gists: - */ - listStarred: { - (params?: RestEndpointMethodTypes["gists"]["listStarred"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - star: { - (params?: RestEndpointMethodTypes["gists"]["star"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - unstar: { - (params?: RestEndpointMethodTypes["gists"]["unstar"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. - */ - update: { - (params?: RestEndpointMethodTypes["gists"]["update"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - updateComment: { - (params?: RestEndpointMethodTypes["gists"]["updateComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - git: { - createBlob: { - (params?: RestEndpointMethodTypes["git"]["createBlob"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - createCommit: { - (params?: RestEndpointMethodTypes["git"]["createCommit"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. - */ - createRef: { - (params?: RestEndpointMethodTypes["git"]["createRef"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - createTag: { - (params?: RestEndpointMethodTypes["git"]["createTag"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. - * - * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." - * - * Returns an error if you try to delete a file that does not exist. - */ - createTree: { - (params?: RestEndpointMethodTypes["git"]["createTree"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - deleteRef: { - (params?: RestEndpointMethodTypes["git"]["deleteRef"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. - */ - getBlob: { - (params?: RestEndpointMethodTypes["git"]["getBlob"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - getCommit: { - (params?: RestEndpointMethodTypes["git"]["getCommit"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - */ - getRef: { - (params?: RestEndpointMethodTypes["git"]["getRef"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - getTag: { - (params?: RestEndpointMethodTypes["git"]["getTag"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a single tree using the SHA1 value or ref name for that tree. - * - * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. - * - * - * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. - */ - getTree: { - (params?: RestEndpointMethodTypes["git"]["getTree"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. - * - * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. - */ - listMatchingRefs: { - (params?: RestEndpointMethodTypes["git"]["listMatchingRefs"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - updateRef: { - (params?: RestEndpointMethodTypes["git"]["updateRef"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - gitignore: { - /** - * List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). - */ - getAllTemplates: { - (params?: RestEndpointMethodTypes["gitignore"]["getAllTemplates"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. - */ - getTemplate: { - (params?: RestEndpointMethodTypes["gitignore"]["getTemplate"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - interactions: { - /** - * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. - */ - getRestrictionsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. - */ - getRestrictionsForOrg: { - (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. - */ - getRestrictionsForRepo: { - (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Shows which type of GitHub user can interact with your public repositories and when the restriction expires. - * @deprecated octokit.rest.interactions.getRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.getRestrictionsForAuthenticatedUser() (2021-02-02) - */ - getRestrictionsForYourPublicRepos: { - (params?: RestEndpointMethodTypes["interactions"]["getRestrictionsForYourPublicRepos"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes any interaction restrictions from your public repositories. - */ - removeRestrictionsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. - */ - removeRestrictionsForOrg: { - (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - removeRestrictionsForRepo: { - (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes any interaction restrictions from your public repositories. - * @deprecated octokit.rest.interactions.removeRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.removeRestrictionsForAuthenticatedUser() (2021-02-02) - */ - removeRestrictionsForYourPublicRepos: { - (params?: RestEndpointMethodTypes["interactions"]["removeRestrictionsForYourPublicRepos"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. - */ - setRestrictionsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. - */ - setRestrictionsForOrg: { - (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - setRestrictionsForRepo: { - (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. - * @deprecated octokit.rest.interactions.setRestrictionsForYourPublicRepos() has been renamed to octokit.rest.interactions.setRestrictionsForAuthenticatedUser() (2021-02-02) - */ - setRestrictionsForYourPublicRepos: { - (params?: RestEndpointMethodTypes["interactions"]["setRestrictionsForYourPublicRepos"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - issues: { - /** - * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. - */ - addAssignees: { - (params?: RestEndpointMethodTypes["issues"]["addAssignees"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. - */ - addLabels: { - (params?: RestEndpointMethodTypes["issues"]["addLabels"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Checks if a user has permission to be assigned to an issue in this repository. - * - * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - checkUserCanBeAssigned: { - (params?: RestEndpointMethodTypes["issues"]["checkUserCanBeAssigned"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Checks if a user has permission to be assigned to a specific issue. - * - * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - checkUserCanBeAssignedToIssue: { - (params?: RestEndpointMethodTypes["issues"]["checkUserCanBeAssignedToIssue"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - create: { - (params?: RestEndpointMethodTypes["issues"]["create"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - * Creating content too quickly using this endpoint may result in secondary rate limiting. - * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" - * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" - * for details. - */ - createComment: { - (params?: RestEndpointMethodTypes["issues"]["createComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). - */ - createLabel: { - (params?: RestEndpointMethodTypes["issues"]["createLabel"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a milestone. - */ - createMilestone: { - (params?: RestEndpointMethodTypes["issues"]["createMilestone"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - deleteComment: { - (params?: RestEndpointMethodTypes["issues"]["deleteComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a label using the given label name. - */ - deleteLabel: { - (params?: RestEndpointMethodTypes["issues"]["deleteLabel"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a milestone using the given milestone number. - */ - deleteMilestone: { - (params?: RestEndpointMethodTypes["issues"]["deleteMilestone"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If - * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API - * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read - * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe - * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: { - (params?: RestEndpointMethodTypes["issues"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - getComment: { - (params?: RestEndpointMethodTypes["issues"]["getComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a single event by the event id. - */ - getEvent: { - (params?: RestEndpointMethodTypes["issues"]["getEvent"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a label using the given name. - */ - getLabel: { - (params?: RestEndpointMethodTypes["issues"]["getLabel"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a milestone using the given milestone number. - */ - getMilestone: { - (params?: RestEndpointMethodTypes["issues"]["getMilestone"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List issues assigned to the authenticated user across all visible repositories including owned repositories, member - * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not - * necessarily assigned to you. - * - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - list: { - (params?: RestEndpointMethodTypes["issues"]["list"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. - */ - listAssignees: { - (params?: RestEndpointMethodTypes["issues"]["listAssignees"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * Issue comments are ordered by ascending ID. - */ - listComments: { - (params?: RestEndpointMethodTypes["issues"]["listComments"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. - * - * By default, issue comments are ordered by ascending ID. - */ - listCommentsForRepo: { - (params?: RestEndpointMethodTypes["issues"]["listCommentsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all events for an issue. - */ - listEvents: { - (params?: RestEndpointMethodTypes["issues"]["listEvents"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists events for a repository. - */ - listEventsForRepo: { - (params?: RestEndpointMethodTypes["issues"]["listEventsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all timeline events for an issue. - */ - listEventsForTimeline: { - (params?: RestEndpointMethodTypes["issues"]["listEventsForTimeline"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List issues across owned and member repositories assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - listForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["issues"]["listForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List issues in an organization assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - listForOrg: { - (params?: RestEndpointMethodTypes["issues"]["listForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List issues in a repository. Only open issues will be listed. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - listForRepo: { - (params?: RestEndpointMethodTypes["issues"]["listForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists labels for issues in a milestone. - */ - listLabelsForMilestone: { - (params?: RestEndpointMethodTypes["issues"]["listLabelsForMilestone"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all labels for a repository. - */ - listLabelsForRepo: { - (params?: RestEndpointMethodTypes["issues"]["listLabelsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all labels for an issue. - */ - listLabelsOnIssue: { - (params?: RestEndpointMethodTypes["issues"]["listLabelsOnIssue"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists milestones for a repository. - */ - listMilestones: { - (params?: RestEndpointMethodTypes["issues"]["listMilestones"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with push access can lock an issue or pull request's conversation. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - lock: { - (params?: RestEndpointMethodTypes["issues"]["lock"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes all labels from an issue. - */ - removeAllLabels: { - (params?: RestEndpointMethodTypes["issues"]["removeAllLabels"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes one or more assignees from an issue. - */ - removeAssignees: { - (params?: RestEndpointMethodTypes["issues"]["removeAssignees"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. - */ - removeLabel: { - (params?: RestEndpointMethodTypes["issues"]["removeLabel"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes any previous labels and sets the new labels for an issue. - */ - setLabels: { - (params?: RestEndpointMethodTypes["issues"]["setLabels"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with push access can unlock an issue's conversation. - */ - unlock: { - (params?: RestEndpointMethodTypes["issues"]["unlock"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Issue owners and users with push access can edit an issue. - */ - update: { - (params?: RestEndpointMethodTypes["issues"]["update"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - updateComment: { - (params?: RestEndpointMethodTypes["issues"]["updateComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates a label using the given label name. - */ - updateLabel: { - (params?: RestEndpointMethodTypes["issues"]["updateLabel"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - updateMilestone: { - (params?: RestEndpointMethodTypes["issues"]["updateMilestone"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - licenses: { - /** - * Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - get: { - (params?: RestEndpointMethodTypes["licenses"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - getAllCommonlyUsed: { - (params?: RestEndpointMethodTypes["licenses"]["getAllCommonlyUsed"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This method returns the contents of the repository's license file, if one is detected. - * - * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. - */ - getForRepo: { - (params?: RestEndpointMethodTypes["licenses"]["getForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - markdown: { - render: { - (params?: RestEndpointMethodTypes["markdown"]["render"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. - */ - renderRaw: { - (params?: RestEndpointMethodTypes["markdown"]["renderRaw"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - meta: { - /** - * Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." - * - * The API's response also includes a list of GitHub's domain names. - * - * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. - * - * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. - */ - get: { - (params?: RestEndpointMethodTypes["meta"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get all supported GitHub API versions. - */ - getAllVersions: { - (params?: RestEndpointMethodTypes["meta"]["getAllVersions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get the octocat as ASCII art - */ - getOctocat: { - (params?: RestEndpointMethodTypes["meta"]["getOctocat"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get a random sentence from the Zen of GitHub - */ - getZen: { - (params?: RestEndpointMethodTypes["meta"]["getZen"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get Hypermedia links to resources accessible in GitHub's REST API - */ - root: { - (params?: RestEndpointMethodTypes["meta"]["root"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - migrations: { - /** - * Stop an import for a repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - cancelImport: { - (params?: RestEndpointMethodTypes["migrations"]["cancelImport"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. - */ - deleteArchiveForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a previous migration archive. Migration archives are automatically deleted after seven days. - */ - deleteArchiveForOrg: { - (params?: RestEndpointMethodTypes["migrations"]["deleteArchiveForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Fetches the URL to a migration archive. - */ - downloadArchiveForOrg: { - (params?: RestEndpointMethodTypes["migrations"]["downloadArchiveForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: - * - * * attachments - * * bases - * * commit\_comments - * * issue\_comments - * * issue\_events - * * issues - * * milestones - * * organizations - * * projects - * * protected\_branches - * * pull\_request\_reviews - * * pull\_requests - * * releases - * * repositories - * * review\_comments - * * schema - * * users - * - * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. - */ - getArchiveForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["migrations"]["getArchiveForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. - * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - getCommitAuthors: { - (params?: RestEndpointMethodTypes["migrations"]["getCommitAuthors"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * View the progress of an import. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - * - * **Import status** - * - * This section includes details about the possible values of the `status` field of the Import Progress response. - * - * An import that does not have errors will progress through these steps: - * - * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. - * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). - * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. - * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". - * * `complete` - the import is complete, and the repository is ready on GitHub. - * - * If there are problems, you will see one of these in the `status` field: - * - * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. - * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. - * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * - * **The project_choices field** - * - * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. - * - * **Git LFS related fields** - * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. - * - * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. - * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. - * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. - * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. - */ - getImportStatus: { - (params?: RestEndpointMethodTypes["migrations"]["getImportStatus"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List files larger than 100MB found during the import - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - getLargeFiles: { - (params?: RestEndpointMethodTypes["migrations"]["getLargeFiles"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: - * - * * `pending` - the migration hasn't started yet. - * * `exporting` - the migration is in progress. - * * `exported` - the migration finished successfully. - * * `failed` - the migration failed. - * - * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). - */ - getStatusForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["migrations"]["getStatusForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Fetches the status of a migration. - * - * The `state` of a migration can be one of the following values: - * - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - getStatusForOrg: { - (params?: RestEndpointMethodTypes["migrations"]["getStatusForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all migrations a user has started. - */ - listForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["migrations"]["listForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). - * - * A list of `repositories` is only returned for export migrations. - */ - listForOrg: { - (params?: RestEndpointMethodTypes["migrations"]["listForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all the repositories for this user migration. - */ - listReposForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["migrations"]["listReposForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all the repositories for this organization migration. - */ - listReposForOrg: { - (params?: RestEndpointMethodTypes["migrations"]["listReposForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all the repositories for this user migration. - * @deprecated octokit.rest.migrations.listReposForUser() has been renamed to octokit.rest.migrations.listReposForAuthenticatedUser() (2021-10-05) - */ - listReposForUser: { - (params?: RestEndpointMethodTypes["migrations"]["listReposForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Update an author's identity for the import. Your application can continue updating authors any time before you push - * new commits to the repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - mapCommitAuthor: { - (params?: RestEndpointMethodTypes["migrations"]["mapCommitAuthor"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability - * is powered by [Git LFS](https://git-lfs.com). - * - * You can learn more about our LFS feature and working with large files [on our help - * site](https://docs.github.com/repositories/working-with-files/managing-large-files). - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - setLfsPreference: { - (params?: RestEndpointMethodTypes["migrations"]["setLfsPreference"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Initiates the generation of a user migration archive. - */ - startForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["migrations"]["startForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Initiates the generation of a migration archive. - */ - startForOrg: { - (params?: RestEndpointMethodTypes["migrations"]["startForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - startImport: { - (params?: RestEndpointMethodTypes["migrations"]["startImport"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. - */ - unlockRepoForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. - */ - unlockRepoForOrg: { - (params?: RestEndpointMethodTypes["migrations"]["unlockRepoForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API - * request. If no parameters are provided, the import will be restarted. - * - * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will - * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. - * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - updateImport: { - (params?: RestEndpointMethodTypes["migrations"]["updateImport"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - orgs: { - /** - * Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - addSecurityManagerTeam: { - (params?: RestEndpointMethodTypes["orgs"]["addSecurityManagerTeam"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. - */ - blockUser: { - (params?: RestEndpointMethodTypes["orgs"]["blockUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - */ - cancelInvitation: { - (params?: RestEndpointMethodTypes["orgs"]["cancelInvitation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. - */ - checkBlockedUser: { - (params?: RestEndpointMethodTypes["orgs"]["checkBlockedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Check if a user is, publicly or privately, a member of the organization. - */ - checkMembershipForUser: { - (params?: RestEndpointMethodTypes["orgs"]["checkMembershipForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Check if the provided user is a public member of the organization. - */ - checkPublicMembershipForUser: { - (params?: RestEndpointMethodTypes["orgs"]["checkPublicMembershipForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - */ - convertMemberToOutsideCollaborator: { - (params?: RestEndpointMethodTypes["orgs"]["convertMemberToOutsideCollaborator"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - createInvitation: { - (params?: RestEndpointMethodTypes["orgs"]["createInvitation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Here's how you can create a hook that posts payloads in JSON format: - */ - createWebhook: { - (params?: RestEndpointMethodTypes["orgs"]["createWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes an organization and all its repositories. - * - * The organization login will be unavailable for 90 days after deletion. - * - * Please review the Terms of Service regarding account deletion before using this endpoint: - * - * https://docs.github.com/site-policy/github-terms/github-terms-of-service - */ - delete: { - (params?: RestEndpointMethodTypes["orgs"]["delete"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - deleteWebhook: { - (params?: RestEndpointMethodTypes["orgs"]["deleteWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables or disables the specified security feature for all eligible repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. - * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - enableOrDisableSecurityProductOnAllOrgRepos: { - (params?: RestEndpointMethodTypes["orgs"]["enableOrDisableSecurityProductOnAllOrgRepos"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." - */ - get: { - (params?: RestEndpointMethodTypes["orgs"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. - */ - getMembershipForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["orgs"]["getMembershipForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. - */ - getMembershipForUser: { - (params?: RestEndpointMethodTypes["orgs"]["getMembershipForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." - */ - getWebhook: { - (params?: RestEndpointMethodTypes["orgs"]["getWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. - */ - getWebhookConfigForOrg: { - (params?: RestEndpointMethodTypes["orgs"]["getWebhookConfigForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a delivery for a webhook configured in an organization. - */ - getWebhookDelivery: { - (params?: RestEndpointMethodTypes["orgs"]["getWebhookDelivery"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all organizations, in the order that they were created on GitHub. - * - * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. - */ - list: { - (params?: RestEndpointMethodTypes["orgs"]["list"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. - */ - listAppInstallations: { - (params?: RestEndpointMethodTypes["orgs"]["listAppInstallations"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the users blocked by an organization. - */ - listBlockedUsers: { - (params?: RestEndpointMethodTypes["orgs"]["listBlockedUsers"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. - */ - listFailedInvitations: { - (params?: RestEndpointMethodTypes["orgs"]["listFailedInvitations"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List organizations for the authenticated user. - * - * **OAuth scope requirements** - * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. - */ - listForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["orgs"]["listForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. - * - * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. - */ - listForUser: { - (params?: RestEndpointMethodTypes["orgs"]["listForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. - */ - listInvitationTeams: { - (params?: RestEndpointMethodTypes["orgs"]["listInvitationTeams"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. - */ - listMembers: { - (params?: RestEndpointMethodTypes["orgs"]["listMembers"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all of the authenticated user's organization memberships. - */ - listMembershipsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["orgs"]["listMembershipsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all users who are outside collaborators of an organization. - */ - listOutsideCollaborators: { - (params?: RestEndpointMethodTypes["orgs"]["listOutsideCollaborators"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - listPatGrantRepositories: { - (params?: RestEndpointMethodTypes["orgs"]["listPatGrantRepositories"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - listPatGrantRequestRepositories: { - (params?: RestEndpointMethodTypes["orgs"]["listPatGrantRequestRepositories"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - listPatGrantRequests: { - (params?: RestEndpointMethodTypes["orgs"]["listPatGrantRequests"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - listPatGrants: { - (params?: RestEndpointMethodTypes["orgs"]["listPatGrants"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - listPendingInvitations: { - (params?: RestEndpointMethodTypes["orgs"]["listPendingInvitations"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Members of an organization can choose to have their membership publicized or not. - */ - listPublicMembers: { - (params?: RestEndpointMethodTypes["orgs"]["listPublicMembers"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. - * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. - */ - listSecurityManagerTeams: { - (params?: RestEndpointMethodTypes["orgs"]["listSecurityManagerTeams"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a list of webhook deliveries for a webhook configured in an organization. - */ - listWebhookDeliveries: { - (params?: RestEndpointMethodTypes["orgs"]["listWebhookDeliveries"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listWebhooks: { - (params?: RestEndpointMethodTypes["orgs"]["listWebhooks"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - pingWebhook: { - (params?: RestEndpointMethodTypes["orgs"]["pingWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Redeliver a delivery for a webhook configured in an organization. - */ - redeliverWebhookDelivery: { - (params?: RestEndpointMethodTypes["orgs"]["redeliverWebhookDelivery"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. - */ - removeMember: { - (params?: RestEndpointMethodTypes["orgs"]["removeMember"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * In order to remove a user's membership with an organization, the authenticated user must be an organization owner. - * - * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. - */ - removeMembershipForUser: { - (params?: RestEndpointMethodTypes["orgs"]["removeMembershipForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removing a user from this list will remove them from all the organization's repositories. - */ - removeOutsideCollaborator: { - (params?: RestEndpointMethodTypes["orgs"]["removeOutsideCollaborator"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. - */ - removePublicMembershipForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["orgs"]["removePublicMembershipForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - removeSecurityManagerTeam: { - (params?: RestEndpointMethodTypes["orgs"]["removeSecurityManagerTeam"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - reviewPatGrantRequest: { - (params?: RestEndpointMethodTypes["orgs"]["reviewPatGrantRequest"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - reviewPatGrantRequestsInBulk: { - (params?: RestEndpointMethodTypes["orgs"]["reviewPatGrantRequestsInBulk"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Only authenticated organization owners can add a member to the organization or update the member's role. - * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * - * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. - * - * **Rate limits** - * - * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. - */ - setMembershipForUser: { - (params?: RestEndpointMethodTypes["orgs"]["setMembershipForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The user can publicize their own membership. (A user cannot publicize the membership for another user.) - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - setPublicMembershipForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["orgs"]["setPublicMembershipForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Unblocks the given user on behalf of the specified organization. - */ - unblockUser: { - (params?: RestEndpointMethodTypes["orgs"]["unblockUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. - */ - update: { - (params?: RestEndpointMethodTypes["orgs"]["update"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. - */ - updateMembershipForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["orgs"]["updateMembershipForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - updatePatAccess: { - (params?: RestEndpointMethodTypes["orgs"]["updatePatAccess"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - updatePatAccesses: { - (params?: RestEndpointMethodTypes["orgs"]["updatePatAccesses"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." - */ - updateWebhook: { - (params?: RestEndpointMethodTypes["orgs"]["updateWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. - */ - updateWebhookConfigForOrg: { - (params?: RestEndpointMethodTypes["orgs"]["updateWebhookConfigForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - packages: { - /** - * Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - deletePackageForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["deletePackageForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - deletePackageForOrg: { - (params?: RestEndpointMethodTypes["packages"]["deletePackageForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - deletePackageForUser: { - (params?: RestEndpointMethodTypes["packages"]["deletePackageForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - deletePackageVersionForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - deletePackageVersionForOrg: { - (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - deletePackageVersionForUser: { - (params?: RestEndpointMethodTypes["packages"]["deletePackageVersionForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists package versions for a package owned by an organization. - * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByAnOrg() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByOrg() (2021-03-24) - */ - getAllPackageVersionsForAPackageOwnedByAnOrg: { - (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByAnOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists package versions for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * @deprecated octokit.rest.packages.getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser() has been renamed to octokit.rest.packages.getAllPackageVersionsForPackageOwnedByAuthenticatedUser() (2021-03-24) - */ - getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists package versions for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists package versions for a package owned by an organization. - * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - getAllPackageVersionsForPackageOwnedByOrg: { - (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists package versions for a public package owned by a specified user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - getAllPackageVersionsForPackageOwnedByUser: { - (params?: RestEndpointMethodTypes["packages"]["getAllPackageVersionsForPackageOwnedByUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific package for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - getPackageForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["getPackageForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific package in an organization. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - getPackageForOrganization: { - (params?: RestEndpointMethodTypes["packages"]["getPackageForOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific package metadata for a public package owned by a user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - getPackageForUser: { - (params?: RestEndpointMethodTypes["packages"]["getPackageForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific package version for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - getPackageVersionForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific package version in an organization. - * - * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - getPackageVersionForOrganization: { - (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a specific package version for a public package owned by a specified user. - * - * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - getPackageVersionForUser: { - (params?: RestEndpointMethodTypes["packages"]["getPackageVersionForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - listDockerMigrationConflictingPackagesForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["listDockerMigrationConflictingPackagesForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - listDockerMigrationConflictingPackagesForOrganization: { - (params?: RestEndpointMethodTypes["packages"]["listDockerMigrationConflictingPackagesForOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - listDockerMigrationConflictingPackagesForUser: { - (params?: RestEndpointMethodTypes["packages"]["listDockerMigrationConflictingPackagesForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists packages owned by the authenticated user within the user's namespace. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - listPackagesForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["listPackagesForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists packages in an organization readable by the user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - listPackagesForOrganization: { - (params?: RestEndpointMethodTypes["packages"]["listPackagesForOrganization"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all packages in a user's namespace for which the requesting user has access. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - listPackagesForUser: { - (params?: RestEndpointMethodTypes["packages"]["listPackagesForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Restores a package owned by the authenticated user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - restorePackageForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["restorePackageForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Restores an entire package in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - restorePackageForOrg: { - (params?: RestEndpointMethodTypes["packages"]["restorePackageForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Restores an entire package for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - restorePackageForUser: { - (params?: RestEndpointMethodTypes["packages"]["restorePackageForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Restores a package version owned by the authenticated user. - * - * You can restore a deleted package version under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - restorePackageVersionForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Restores a specific package version in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - restorePackageVersionForOrg: { - (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Restores a specific package version for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - restorePackageVersionForUser: { - (params?: RestEndpointMethodTypes["packages"]["restorePackageVersionForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - projects: { - /** - * Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. - */ - addCollaborator: { - (params?: RestEndpointMethodTypes["projects"]["addCollaborator"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - createCard: { - (params?: RestEndpointMethodTypes["projects"]["createCard"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new project column. - */ - createColumn: { - (params?: RestEndpointMethodTypes["projects"]["createColumn"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - createForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["projects"]["createForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - createForOrg: { - (params?: RestEndpointMethodTypes["projects"]["createForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - createForRepo: { - (params?: RestEndpointMethodTypes["projects"]["createForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a project board. Returns a `404 Not Found` status if projects are disabled. - */ - delete: { - (params?: RestEndpointMethodTypes["projects"]["delete"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a project card - */ - deleteCard: { - (params?: RestEndpointMethodTypes["projects"]["deleteCard"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a project column. - */ - deleteColumn: { - (params?: RestEndpointMethodTypes["projects"]["deleteColumn"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: { - (params?: RestEndpointMethodTypes["projects"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about a project card. - */ - getCard: { - (params?: RestEndpointMethodTypes["projects"]["getCard"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about a project column. - */ - getColumn: { - (params?: RestEndpointMethodTypes["projects"]["getColumn"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. - */ - getPermissionForUser: { - (params?: RestEndpointMethodTypes["projects"]["getPermissionForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the project cards in a project. - */ - listCards: { - (params?: RestEndpointMethodTypes["projects"]["listCards"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. - */ - listCollaborators: { - (params?: RestEndpointMethodTypes["projects"]["listCollaborators"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the project columns in a project. - */ - listColumns: { - (params?: RestEndpointMethodTypes["projects"]["listColumns"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - listForOrg: { - (params?: RestEndpointMethodTypes["projects"]["listForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - listForRepo: { - (params?: RestEndpointMethodTypes["projects"]["listForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists projects for a user. - */ - listForUser: { - (params?: RestEndpointMethodTypes["projects"]["listForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - moveCard: { - (params?: RestEndpointMethodTypes["projects"]["moveCard"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - moveColumn: { - (params?: RestEndpointMethodTypes["projects"]["moveColumn"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. - */ - removeCollaborator: { - (params?: RestEndpointMethodTypes["projects"]["removeCollaborator"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - update: { - (params?: RestEndpointMethodTypes["projects"]["update"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - updateCard: { - (params?: RestEndpointMethodTypes["projects"]["updateCard"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - updateColumn: { - (params?: RestEndpointMethodTypes["projects"]["updateColumn"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - pulls: { - /** - * Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. - */ - checkIfMerged: { - (params?: RestEndpointMethodTypes["pulls"]["checkIfMerged"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - create: { - (params?: RestEndpointMethodTypes["pulls"]["create"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - createReplyForReviewComment: { - (params?: RestEndpointMethodTypes["pulls"]["createReplyForReviewComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." - * - * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. - * - * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - */ - createReview: { - (params?: RestEndpointMethodTypes["pulls"]["createReview"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. - * - * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. - * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - createReviewComment: { - (params?: RestEndpointMethodTypes["pulls"]["createReviewComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. - */ - deletePendingReview: { - (params?: RestEndpointMethodTypes["pulls"]["deletePendingReview"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a review comment. - */ - deleteReviewComment: { - (params?: RestEndpointMethodTypes["pulls"]["deleteReviewComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. - */ - dismissReview: { - (params?: RestEndpointMethodTypes["pulls"]["dismissReview"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists details of a pull request by providing its number. - * - * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. - * - * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: - * - * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. - * - * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - */ - get: { - (params?: RestEndpointMethodTypes["pulls"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Retrieves a pull request review by its ID. - */ - getReview: { - (params?: RestEndpointMethodTypes["pulls"]["getReview"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Provides details for a review comment. - */ - getReviewComment: { - (params?: RestEndpointMethodTypes["pulls"]["getReviewComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - list: { - (params?: RestEndpointMethodTypes["pulls"]["list"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List comments for a specific pull request review. - */ - listCommentsForReview: { - (params?: RestEndpointMethodTypes["pulls"]["listCommentsForReview"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. - */ - listCommits: { - (params?: RestEndpointMethodTypes["pulls"]["listCommits"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. - */ - listFiles: { - (params?: RestEndpointMethodTypes["pulls"]["listFiles"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. - */ - listRequestedReviewers: { - (params?: RestEndpointMethodTypes["pulls"]["listRequestedReviewers"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all review comments for a pull request. By default, review comments are in ascending order by ID. - */ - listReviewComments: { - (params?: RestEndpointMethodTypes["pulls"]["listReviewComments"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. - */ - listReviewCommentsForRepo: { - (params?: RestEndpointMethodTypes["pulls"]["listReviewCommentsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The list of reviews returns in chronological order. - */ - listReviews: { - (params?: RestEndpointMethodTypes["pulls"]["listReviews"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Merges a pull request into the base branch. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - merge: { - (params?: RestEndpointMethodTypes["pulls"]["merge"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes review requests from a pull request for a given set of users and/or teams. - */ - removeRequestedReviewers: { - (params?: RestEndpointMethodTypes["pulls"]["removeRequestedReviewers"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - requestReviewers: { - (params?: RestEndpointMethodTypes["pulls"]["requestReviewers"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - */ - submitReview: { - (params?: RestEndpointMethodTypes["pulls"]["submitReview"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - */ - update: { - (params?: RestEndpointMethodTypes["pulls"]["update"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. - */ - updateBranch: { - (params?: RestEndpointMethodTypes["pulls"]["updateBranch"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Update the review summary comment with new text. - */ - updateReview: { - (params?: RestEndpointMethodTypes["pulls"]["updateReview"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables you to edit a review comment. - */ - updateReviewComment: { - (params?: RestEndpointMethodTypes["pulls"]["updateReviewComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - rateLimit: { - /** - * **Note:** Accessing this endpoint does not count against your REST API rate limit. - * - * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: - * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. - * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search)." - * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." - * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." - * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." - * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." - * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." - * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." - * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. - */ - get: { - (params?: RestEndpointMethodTypes["rateLimit"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - reactions: { - /** - * Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. - */ - createForCommitComment: { - (params?: RestEndpointMethodTypes["reactions"]["createForCommitComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. - */ - createForIssue: { - (params?: RestEndpointMethodTypes["reactions"]["createForIssue"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. - */ - createForIssueComment: { - (params?: RestEndpointMethodTypes["reactions"]["createForIssueComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. - */ - createForPullRequestReviewComment: { - (params?: RestEndpointMethodTypes["reactions"]["createForPullRequestReviewComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. - */ - createForRelease: { - (params?: RestEndpointMethodTypes["reactions"]["createForRelease"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - createForTeamDiscussionCommentInOrg: { - (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionCommentInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - createForTeamDiscussionInOrg: { - (params?: RestEndpointMethodTypes["reactions"]["createForTeamDiscussionInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - deleteForCommitComment: { - (params?: RestEndpointMethodTypes["reactions"]["deleteForCommitComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. - * - * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - deleteForIssue: { - (params?: RestEndpointMethodTypes["reactions"]["deleteForIssue"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - deleteForIssueComment: { - (params?: RestEndpointMethodTypes["reactions"]["deleteForIssueComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` - * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - deleteForPullRequestComment: { - (params?: RestEndpointMethodTypes["reactions"]["deleteForPullRequestComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. - * - * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - deleteForRelease: { - (params?: RestEndpointMethodTypes["reactions"]["deleteForRelease"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - deleteForTeamDiscussion: { - (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussion"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - deleteForTeamDiscussionComment: { - (params?: RestEndpointMethodTypes["reactions"]["deleteForTeamDiscussionComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - listForCommitComment: { - (params?: RestEndpointMethodTypes["reactions"]["listForCommitComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - listForIssue: { - (params?: RestEndpointMethodTypes["reactions"]["listForIssue"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - listForIssueComment: { - (params?: RestEndpointMethodTypes["reactions"]["listForIssueComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - listForPullRequestReviewComment: { - (params?: RestEndpointMethodTypes["reactions"]["listForPullRequestReviewComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - listForRelease: { - (params?: RestEndpointMethodTypes["reactions"]["listForRelease"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - listForTeamDiscussionCommentInOrg: { - (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionCommentInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - listForTeamDiscussionInOrg: { - (params?: RestEndpointMethodTypes["reactions"]["listForTeamDiscussionInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - repos: { - /** - * @deprecated octokit.rest.repos.acceptInvitation() has been renamed to octokit.rest.repos.acceptInvitationForAuthenticatedUser() (2021-10-05) - */ - acceptInvitation: { - (params?: RestEndpointMethodTypes["repos"]["acceptInvitation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - acceptInvitationForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["repos"]["acceptInvitationForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - addAppAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["addAppAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - * - * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: - * - * ``` - * Cannot assign {member} permission of {role name} - * ``` - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). - * - * **Updating an existing collaborator's permission level** - * - * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. - * - * **Rate limits** - * - * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. - */ - addCollaborator: { - (params?: RestEndpointMethodTypes["repos"]["addCollaborator"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - addStatusCheckContexts: { - (params?: RestEndpointMethodTypes["repos"]["addStatusCheckContexts"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified teams push access for this branch. You can also give push access to child teams. - */ - addTeamAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["addTeamAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified people push access for this branch. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - addUserAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["addUserAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - checkAutomatedSecurityFixes: { - (params?: RestEndpointMethodTypes["repos"]["checkAutomatedSecurityFixes"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - checkCollaborator: { - (params?: RestEndpointMethodTypes["repos"]["checkCollaborator"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - checkVulnerabilityAlerts: { - (params?: RestEndpointMethodTypes["repos"]["checkVulnerabilityAlerts"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List any syntax errors that are detected in the CODEOWNERS - * file. - * - * For more information about the correct CODEOWNERS syntax, - * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." - */ - codeownersErrors: { - (params?: RestEndpointMethodTypes["repos"]["codeownersErrors"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`. - * - * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)." - * - * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - compareCommits: { - (params?: RestEndpointMethodTypes["repos"]["compareCommits"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." - * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: - * - * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. - * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. - * - * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - compareCommitsWithBasehead: { - (params?: RestEndpointMethodTypes["repos"]["compareCommitsWithBasehead"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with admin access to the repository can create an autolink. - */ - createAutolink: { - (params?: RestEndpointMethodTypes["repos"]["createAutolink"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a comment for a commit using its `:commit_sha`. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - createCommitComment: { - (params?: RestEndpointMethodTypes["repos"]["createCommitComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. - */ - createCommitSignatureProtection: { - (params?: RestEndpointMethodTypes["repos"]["createCommitSignatureProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with push access in a repository can create commit statuses for a given SHA. - * - * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. - */ - createCommitStatus: { - (params?: RestEndpointMethodTypes["repos"]["createCommitStatus"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can create a read-only deploy key. - */ - createDeployKey: { - (params?: RestEndpointMethodTypes["repos"]["createDeployKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deployments offer a few configurable parameters with certain defaults. - * - * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them - * before we merge a pull request. - * - * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have - * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter - * makes it easier to track which environments have requested deployments. The default environment is `production`. - * - * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If - * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, - * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will - * return a failure response. - * - * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` - * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to - * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do - * not require any contexts or create any commit statuses, the deployment will always succeed. - * - * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text - * field that will be passed on when a deployment event is dispatched. - * - * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might - * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an - * application with debugging enabled. - * - * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. - * - * Merged branch response: - * - * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating - * a deployment. This auto-merge happens when: - * * Auto-merge option is enabled in the repository - * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example - * * There are no merge conflicts - * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful - * response. - * - * Merge conflict response: - * - * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't - * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. - * - * Failed commit status checks: - * - * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` - * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. - */ - createDeployment: { - (params?: RestEndpointMethodTypes["repos"]["createDeployment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - createDeploymentBranchPolicy: { - (params?: RestEndpointMethodTypes["repos"]["createDeploymentBranchPolicy"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enable a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - createDeploymentProtectionRule: { - (params?: RestEndpointMethodTypes["repos"]["createDeploymentProtectionRule"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with `push` access can create deployment statuses for a given deployment. - * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. - */ - createDeploymentStatus: { - (params?: RestEndpointMethodTypes["repos"]["createDeploymentStatus"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." - * - * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. - * - * This endpoint requires write access to the repository by providing either: - * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. - * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. - * - * This input example shows how you can use the `client_payload` as a test to debug your workflow. - */ - createDispatchEvent: { - (params?: RestEndpointMethodTypes["repos"]["createDispatchEvent"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new repository for the authenticated user. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. - */ - createForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["repos"]["createForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * - * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. - */ - createFork: { - (params?: RestEndpointMethodTypes["repos"]["createFork"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new repository in the specified organization. The authenticated user must be a member of the organization. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - createInOrg: { - (params?: RestEndpointMethodTypes["repos"]["createInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." - * - * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." - * - * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - createOrUpdateEnvironment: { - (params?: RestEndpointMethodTypes["repos"]["createOrUpdateEnvironment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope. - * - * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - createOrUpdateFileContents: { - (params?: RestEndpointMethodTypes["repos"]["createOrUpdateFileContents"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a repository ruleset for an organization. - */ - createOrgRuleset: { - (params?: RestEndpointMethodTypes["repos"]["createOrgRuleset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a GitHub Pages deployment for a repository. - * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. - */ - createPagesDeployment: { - (params?: RestEndpointMethodTypes["repos"]["createPagesDeployment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - createPagesSite: { - (params?: RestEndpointMethodTypes["repos"]["createPagesSite"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with push access to the repository can create a release. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - createRelease: { - (params?: RestEndpointMethodTypes["repos"]["createRelease"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Create a ruleset for a repository. - */ - createRepoRuleset: { - (params?: RestEndpointMethodTypes["repos"]["createRepoRuleset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This creates a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - createTagProtection: { - (params?: RestEndpointMethodTypes["repos"]["createTagProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - createUsingTemplate: { - (params?: RestEndpointMethodTypes["repos"]["createUsingTemplate"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can - * share the same `config` as long as those webhooks do not have any `events` that overlap. - */ - createWebhook: { - (params?: RestEndpointMethodTypes["repos"]["createWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * @deprecated octokit.rest.repos.declineInvitation() has been renamed to octokit.rest.repos.declineInvitationForAuthenticatedUser() (2021-10-05) - */ - declineInvitation: { - (params?: RestEndpointMethodTypes["repos"]["declineInvitation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - declineInvitationForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["repos"]["declineInvitationForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. - */ - delete: { - (params?: RestEndpointMethodTypes["repos"]["delete"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Disables the ability to restrict who can push to this branch. - */ - deleteAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["deleteAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - deleteAdminBranchProtection: { - (params?: RestEndpointMethodTypes["repos"]["deleteAdminBranchProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You must authenticate using an access token with the repo scope to use this endpoint. - */ - deleteAnEnvironment: { - (params?: RestEndpointMethodTypes["repos"]["deleteAnEnvironment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This deletes a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - deleteAutolink: { - (params?: RestEndpointMethodTypes["repos"]["deleteAutolink"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - deleteBranchProtection: { - (params?: RestEndpointMethodTypes["repos"]["deleteBranchProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - deleteCommitComment: { - (params?: RestEndpointMethodTypes["repos"]["deleteCommitComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. - */ - deleteCommitSignatureProtection: { - (params?: RestEndpointMethodTypes["repos"]["deleteCommitSignatureProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. - */ - deleteDeployKey: { - (params?: RestEndpointMethodTypes["repos"]["deleteDeployKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. - * - * To set a deployment as inactive, you must: - * - * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. - * * Mark the active deployment as inactive by adding any non-successful deployment status. - * - * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." - */ - deleteDeployment: { - (params?: RestEndpointMethodTypes["repos"]["deleteDeployment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - deleteDeploymentBranchPolicy: { - (params?: RestEndpointMethodTypes["repos"]["deleteDeploymentBranchPolicy"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a file in a repository. - * - * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. - * - * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. - * - * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. - * - * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - deleteFile: { - (params?: RestEndpointMethodTypes["repos"]["deleteFile"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - deleteInvitation: { - (params?: RestEndpointMethodTypes["repos"]["deleteInvitation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Delete a ruleset for an organization. - */ - deleteOrgRuleset: { - (params?: RestEndpointMethodTypes["repos"]["deleteOrgRuleset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - deletePagesSite: { - (params?: RestEndpointMethodTypes["repos"]["deletePagesSite"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - deletePullRequestReviewProtection: { - (params?: RestEndpointMethodTypes["repos"]["deletePullRequestReviewProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with push access to the repository can delete a release. - */ - deleteRelease: { - (params?: RestEndpointMethodTypes["repos"]["deleteRelease"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - deleteReleaseAsset: { - (params?: RestEndpointMethodTypes["repos"]["deleteReleaseAsset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Delete a ruleset for a repository. - */ - deleteRepoRuleset: { - (params?: RestEndpointMethodTypes["repos"]["deleteRepoRuleset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This deletes a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - deleteTagProtection: { - (params?: RestEndpointMethodTypes["repos"]["deleteTagProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - deleteWebhook: { - (params?: RestEndpointMethodTypes["repos"]["deleteWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - disableAutomatedSecurityFixes: { - (params?: RestEndpointMethodTypes["repos"]["disableAutomatedSecurityFixes"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Disables a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - disableDeploymentProtectionRule: { - (params?: RestEndpointMethodTypes["repos"]["disableDeploymentProtectionRule"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". - */ - disablePrivateVulnerabilityReporting: { - (params?: RestEndpointMethodTypes["repos"]["disablePrivateVulnerabilityReporting"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Disables dependency alerts and the dependency graph for a repository. - * The authenticated user must have admin access to the repository. For more information, - * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - disableVulnerabilityAlerts: { - (params?: RestEndpointMethodTypes["repos"]["disableVulnerabilityAlerts"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * - * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. - * @deprecated octokit.rest.repos.downloadArchive() has been renamed to octokit.rest.repos.downloadZipballArchive() (2020-09-17) - */ - downloadArchive: { - (params?: RestEndpointMethodTypes["repos"]["downloadArchive"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. - */ - downloadTarballArchive: { - (params?: RestEndpointMethodTypes["repos"]["downloadTarballArchive"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * - * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. - */ - downloadZipballArchive: { - (params?: RestEndpointMethodTypes["repos"]["downloadZipballArchive"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - enableAutomatedSecurityFixes: { - (params?: RestEndpointMethodTypes["repos"]["enableAutomatedSecurityFixes"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." - */ - enablePrivateVulnerabilityReporting: { - (params?: RestEndpointMethodTypes["repos"]["enablePrivateVulnerabilityReporting"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - enableVulnerabilityAlerts: { - (params?: RestEndpointMethodTypes["repos"]["enableVulnerabilityAlerts"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. - */ - generateReleaseNotes: { - (params?: RestEndpointMethodTypes["repos"]["generateReleaseNotes"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: { - (params?: RestEndpointMethodTypes["repos"]["get"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists who has access to this protected branch. - * - * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. - */ - getAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["getAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - getAdminBranchProtection: { - (params?: RestEndpointMethodTypes["repos"]["getAdminBranchProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - getAllDeploymentProtectionRules: { - (params?: RestEndpointMethodTypes["repos"]["getAllDeploymentProtectionRules"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the environments for a repository. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getAllEnvironments: { - (params?: RestEndpointMethodTypes["repos"]["getAllEnvironments"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - getAllStatusCheckContexts: { - (params?: RestEndpointMethodTypes["repos"]["getAllStatusCheckContexts"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - getAllTopics: { - (params?: RestEndpointMethodTypes["repos"]["getAllTopics"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - getAppsWithAccessToProtectedBranch: { - (params?: RestEndpointMethodTypes["repos"]["getAppsWithAccessToProtectedBranch"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - getAutolink: { - (params?: RestEndpointMethodTypes["repos"]["getAutolink"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - getBranch: { - (params?: RestEndpointMethodTypes["repos"]["getBranch"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - getBranchProtection: { - (params?: RestEndpointMethodTypes["repos"]["getBranchProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply - * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level - * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" - * enforcement statuses are not returned. - */ - getBranchRules: { - (params?: RestEndpointMethodTypes["repos"]["getBranchRules"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - getClones: { - (params?: RestEndpointMethodTypes["repos"]["getClones"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a weekly aggregate of the number of additions and deletions pushed to a repository. - */ - getCodeFrequencyStats: { - (params?: RestEndpointMethodTypes["repos"]["getCodeFrequencyStats"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Checks the repository permission of a collaborator. The possible repository - * permissions are `admin`, `write`, `read`, and `none`. - * - * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the - * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the - * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The - * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. - */ - getCollaboratorPermissionLevel: { - (params?: RestEndpointMethodTypes["repos"]["getCollaboratorPermissionLevel"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. - * - * - * Additionally, a combined `state` is returned. The `state` is one of: - * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` - */ - getCombinedStatusForRef: { - (params?: RestEndpointMethodTypes["repos"]["getCombinedStatusForRef"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. - * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. - * - * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. - * - * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - getCommit: { - (params?: RestEndpointMethodTypes["repos"]["getCommit"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. - */ - getCommitActivityStats: { - (params?: RestEndpointMethodTypes["repos"]["getCommitActivityStats"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - getCommitComment: { - (params?: RestEndpointMethodTypes["repos"]["getCommitComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. - * - * **Note**: You must enable branch protection to require signed commits. - */ - getCommitSignatureProtection: { - (params?: RestEndpointMethodTypes["repos"]["getCommitSignatureProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns all community profile metrics for a repository. The repository cannot be a fork. - * - * The returned metrics include an overall health score, the repository description, the presence of documentation, the - * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, - * README, and CONTRIBUTING files. - * - * The `health_percentage` score is defined as a percentage of how many of - * these four documents are present: README, CONTRIBUTING, LICENSE, and - * CODE_OF_CONDUCT. For example, if all four documents are present, then - * the `health_percentage` is `100`. If only one is present, then the - * `health_percentage` is `25`. - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ - getCommunityProfileMetrics: { - (params?: RestEndpointMethodTypes["repos"]["getCommunityProfileMetrics"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. - * - * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for - * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media - * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent - * object format. - * - * **Notes**: - * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). - * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees - * API](https://docs.github.com/rest/git/trees#get-a-tree). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * Size limits: - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * If the content is a directory: - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * If the content is a symlink: - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * If the content is a submodule: - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. - */ - getContent: { - (params?: RestEndpointMethodTypes["repos"]["getContent"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: - * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - */ - getContributorsStats: { - (params?: RestEndpointMethodTypes["repos"]["getContributorsStats"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). - */ - getCustomDeploymentProtectionRule: { - (params?: RestEndpointMethodTypes["repos"]["getCustomDeploymentProtectionRule"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - getDeployKey: { - (params?: RestEndpointMethodTypes["repos"]["getDeployKey"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - getDeployment: { - (params?: RestEndpointMethodTypes["repos"]["getDeployment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a deployment branch policy for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - getDeploymentBranchPolicy: { - (params?: RestEndpointMethodTypes["repos"]["getDeploymentBranchPolicy"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with pull access can view a deployment status for a deployment: - */ - getDeploymentStatus: { - (params?: RestEndpointMethodTypes["repos"]["getDeploymentStatus"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." - * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. - */ - getEnvironment: { - (params?: RestEndpointMethodTypes["repos"]["getEnvironment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about the single most recent build of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - getLatestPagesBuild: { - (params?: RestEndpointMethodTypes["repos"]["getLatestPagesBuild"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - getLatestRelease: { - (params?: RestEndpointMethodTypes["repos"]["getLatestRelease"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get a repository ruleset for an organization. - */ - getOrgRuleset: { - (params?: RestEndpointMethodTypes["repos"]["getOrgRuleset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get all the repository rulesets for an organization. - */ - getOrgRulesets: { - (params?: RestEndpointMethodTypes["repos"]["getOrgRulesets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - getPages: { - (params?: RestEndpointMethodTypes["repos"]["getPages"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets information about a GitHub Pages build. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - getPagesBuild: { - (params?: RestEndpointMethodTypes["repos"]["getPagesBuild"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. - * - * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. - */ - getPagesHealthCheck: { - (params?: RestEndpointMethodTypes["repos"]["getPagesHealthCheck"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. - * - * The array order is oldest week (index 0) to most recent week. - * - * The most recent week is seven days ago at UTC midnight to today at UTC midnight. - */ - getParticipationStats: { - (params?: RestEndpointMethodTypes["repos"]["getParticipationStats"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - getPullRequestReviewProtection: { - (params?: RestEndpointMethodTypes["repos"]["getPullRequestReviewProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Each array contains the day number, hour number, and number of commits: - * - * * `0-6`: Sunday - Saturday - * * `0-23`: Hour of day - * * Number of commits - * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. - */ - getPunchCardStats: { - (params?: RestEndpointMethodTypes["repos"]["getPunchCardStats"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the preferred README for a repository. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - getReadme: { - (params?: RestEndpointMethodTypes["repos"]["getReadme"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets the README from a repository directory. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - getReadmeInDirectory: { - (params?: RestEndpointMethodTypes["repos"]["getReadmeInDirectory"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). - */ - getRelease: { - (params?: RestEndpointMethodTypes["repos"]["getRelease"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. - */ - getReleaseAsset: { - (params?: RestEndpointMethodTypes["repos"]["getReleaseAsset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get a published release with the specified tag. - */ - getReleaseByTag: { - (params?: RestEndpointMethodTypes["repos"]["getReleaseByTag"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get a ruleset for a repository. - */ - getRepoRuleset: { - (params?: RestEndpointMethodTypes["repos"]["getRepoRuleset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get all the rulesets for a repository. - */ - getRepoRulesets: { - (params?: RestEndpointMethodTypes["repos"]["getRepoRulesets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - getStatusChecksProtection: { - (params?: RestEndpointMethodTypes["repos"]["getStatusChecksProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the teams who have push access to this branch. The list includes child teams. - */ - getTeamsWithAccessToProtectedBranch: { - (params?: RestEndpointMethodTypes["repos"]["getTeamsWithAccessToProtectedBranch"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get the top 10 popular contents over the last 14 days. - */ - getTopPaths: { - (params?: RestEndpointMethodTypes["repos"]["getTopPaths"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get the top 10 referrers over the last 14 days. - */ - getTopReferrers: { - (params?: RestEndpointMethodTypes["repos"]["getTopReferrers"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the people who have push access to this branch. - */ - getUsersWithAccessToProtectedBranch: { - (params?: RestEndpointMethodTypes["repos"]["getUsersWithAccessToProtectedBranch"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - getViews: { - (params?: RestEndpointMethodTypes["repos"]["getViews"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." - */ - getWebhook: { - (params?: RestEndpointMethodTypes["repos"]["getWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." - * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. - */ - getWebhookConfigForRepo: { - (params?: RestEndpointMethodTypes["repos"]["getWebhookConfigForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a delivery for a webhook configured in a repository. - */ - getWebhookDelivery: { - (params?: RestEndpointMethodTypes["repos"]["getWebhookDelivery"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. - * - * For more information about viewing repository activity, - * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." - */ - listActivities: { - (params?: RestEndpointMethodTypes["repos"]["listActivities"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This returns a list of autolinks configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - listAutolinks: { - (params?: RestEndpointMethodTypes["repos"]["listAutolinks"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listBranches: { - (params?: RestEndpointMethodTypes["repos"]["listBranches"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. - */ - listBranchesForHeadCommit: { - (params?: RestEndpointMethodTypes["repos"]["listBranchesForHeadCommit"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - listCollaborators: { - (params?: RestEndpointMethodTypes["repos"]["listCollaborators"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Use the `:commit_sha` to specify the commit that will have its comments listed. - */ - listCommentsForCommit: { - (params?: RestEndpointMethodTypes["repos"]["listCommentsForCommit"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). - * - * Comments are ordered by ascending ID. - */ - listCommitCommentsForRepo: { - (params?: RestEndpointMethodTypes["repos"]["listCommitCommentsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. - */ - listCommitStatusesForRef: { - (params?: RestEndpointMethodTypes["repos"]["listCommitStatusesForRef"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - listCommits: { - (params?: RestEndpointMethodTypes["repos"]["listCommits"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. - * - * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. - */ - listContributors: { - (params?: RestEndpointMethodTypes["repos"]["listContributors"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. - * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - listCustomDeploymentRuleIntegrations: { - (params?: RestEndpointMethodTypes["repos"]["listCustomDeploymentRuleIntegrations"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listDeployKeys: { - (params?: RestEndpointMethodTypes["repos"]["listDeployKeys"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the deployment branch policies for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - listDeploymentBranchPolicies: { - (params?: RestEndpointMethodTypes["repos"]["listDeploymentBranchPolicies"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with pull access can view deployment statuses for a deployment: - */ - listDeploymentStatuses: { - (params?: RestEndpointMethodTypes["repos"]["listDeploymentStatuses"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Simple filtering of deployments is available via query parameters: - */ - listDeployments: { - (params?: RestEndpointMethodTypes["repos"]["listDeployments"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - */ - listForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["repos"]["listForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists repositories for the specified organization. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - listForOrg: { - (params?: RestEndpointMethodTypes["repos"]["listForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. - */ - listForUser: { - (params?: RestEndpointMethodTypes["repos"]["listForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listForks: { - (params?: RestEndpointMethodTypes["repos"]["listForks"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. - */ - listInvitations: { - (params?: RestEndpointMethodTypes["repos"]["listInvitations"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * When authenticating as a user, this endpoint will list all currently open repository invitations for that user. - */ - listInvitationsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["repos"]["listInvitationsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. - */ - listLanguages: { - (params?: RestEndpointMethodTypes["repos"]["listLanguages"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists builts of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - listPagesBuilds: { - (params?: RestEndpointMethodTypes["repos"]["listPagesBuilds"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all public repositories in the order that they were created. - * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. - */ - listPublic: { - (params?: RestEndpointMethodTypes["repos"]["listPublic"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. - * - * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. - */ - listPullRequestsAssociatedWithCommit: { - (params?: RestEndpointMethodTypes["repos"]["listPullRequestsAssociatedWithCommit"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listReleaseAssets: { - (params?: RestEndpointMethodTypes["repos"]["listReleaseAssets"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - listReleases: { - (params?: RestEndpointMethodTypes["repos"]["listReleases"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This returns the tag protection states of a repository. - * - * This information is only available to repository administrators. - */ - listTagProtection: { - (params?: RestEndpointMethodTypes["repos"]["listTagProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - listTags: { - (params?: RestEndpointMethodTypes["repos"]["listTags"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the teams that have access to the specified repository and that are also visible to the authenticated user. - * - * For a public repository, a team is listed only if that team added the public repository explicitly. - * - * Personal access tokens require the following scopes: - * * `public_repo` to call this endpoint on a public repository - * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) - * - * This endpoint is not compatible with fine-grained personal access tokens. - */ - listTeams: { - (params?: RestEndpointMethodTypes["repos"]["listTeams"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a list of webhook deliveries for a webhook configured in a repository. - */ - listWebhookDeliveries: { - (params?: RestEndpointMethodTypes["repos"]["listWebhookDeliveries"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. - */ - listWebhooks: { - (params?: RestEndpointMethodTypes["repos"]["listWebhooks"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - merge: { - (params?: RestEndpointMethodTypes["repos"]["merge"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sync a branch of a forked repository to keep it up-to-date with the upstream repository. - */ - mergeUpstream: { - (params?: RestEndpointMethodTypes["repos"]["mergeUpstream"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - pingWebhook: { - (params?: RestEndpointMethodTypes["repos"]["pingWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Redeliver a webhook delivery for a webhook configured in a repository. - */ - redeliverWebhookDelivery: { - (params?: RestEndpointMethodTypes["repos"]["redeliverWebhookDelivery"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - removeAppAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["removeAppAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a collaborator from a repository. - * - * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. - * - * This endpoint also: - * - Cancels any outstanding invitations - * - Unasigns the user from any issues - * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. - * - Unstars the repository - * - Updates access permissions to packages - * - * Removing a user as a collaborator has the following effects on forks: - * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. - * - If the user had their own fork of the repository, the fork will be deleted. - * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. - * - * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. - * - * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. - * - * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". - */ - removeCollaborator: { - (params?: RestEndpointMethodTypes["repos"]["removeCollaborator"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - removeStatusCheckContexts: { - (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckContexts"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - removeStatusCheckProtection: { - (params?: RestEndpointMethodTypes["repos"]["removeStatusCheckProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a team to push to this branch. You can also remove push access for child teams. - */ - removeTeamAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["removeTeamAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a user to push to this branch. - * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - removeUserAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["removeUserAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Renames a branch in a repository. - * - * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". - * - * The permissions required to use this endpoint depends on whether you are renaming the default branch. - * - * To rename a non-default branch: - * - * * Users must have push access. - * * GitHub Apps must have the `contents:write` repository permission. - * - * To rename the default branch: - * - * * Users must have admin or owner permissions. - * * GitHub Apps must have the `administration:write` repository permission. - */ - renameBranch: { - (params?: RestEndpointMethodTypes["repos"]["renameBranch"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - replaceAllTopics: { - (params?: RestEndpointMethodTypes["repos"]["replaceAllTopics"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. - * - * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. - */ - requestPagesBuild: { - (params?: RestEndpointMethodTypes["repos"]["requestPagesBuild"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - setAdminBranchProtection: { - (params?: RestEndpointMethodTypes["repos"]["setAdminBranchProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - setAppAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["setAppAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - setStatusCheckContexts: { - (params?: RestEndpointMethodTypes["repos"]["setStatusCheckContexts"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. - */ - setTeamAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["setTeamAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - setUserAccessRestrictions: { - (params?: RestEndpointMethodTypes["repos"]["setUserAccessRestrictions"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. - * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` - */ - testPushWebhook: { - (params?: RestEndpointMethodTypes["repos"]["testPushWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). - * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. - */ - transfer: { - (params?: RestEndpointMethodTypes["repos"]["transfer"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. - */ - update: { - (params?: RestEndpointMethodTypes["repos"]["update"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Protecting a branch requires admin or owner permissions to the repository. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - * - * **Note**: The list of users, apps, and teams in total is limited to 100 items. - */ - updateBranchProtection: { - (params?: RestEndpointMethodTypes["repos"]["updateBranchProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - updateCommitComment: { - (params?: RestEndpointMethodTypes["repos"]["updateCommitComment"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - updateDeploymentBranchPolicy: { - (params?: RestEndpointMethodTypes["repos"]["updateDeploymentBranchPolicy"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - updateInformationAboutPagesSite: { - (params?: RestEndpointMethodTypes["repos"]["updateInformationAboutPagesSite"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - updateInvitation: { - (params?: RestEndpointMethodTypes["repos"]["updateInvitation"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Update a ruleset for an organization. - */ - updateOrgRuleset: { - (params?: RestEndpointMethodTypes["repos"]["updateOrgRuleset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - */ - updatePullRequestReviewProtection: { - (params?: RestEndpointMethodTypes["repos"]["updatePullRequestReviewProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with push access to the repository can edit a release. - */ - updateRelease: { - (params?: RestEndpointMethodTypes["repos"]["updateRelease"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Users with push access to the repository can edit a release asset. - */ - updateReleaseAsset: { - (params?: RestEndpointMethodTypes["repos"]["updateReleaseAsset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Update a ruleset for a repository. - */ - updateRepoRuleset: { - (params?: RestEndpointMethodTypes["repos"]["updateRepoRuleset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - * @deprecated octokit.rest.repos.updateStatusCheckPotection() has been renamed to octokit.rest.repos.updateStatusCheckProtection() (2020-09-17) - */ - updateStatusCheckPotection: { - (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckPotection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - */ - updateStatusCheckProtection: { - (params?: RestEndpointMethodTypes["repos"]["updateStatusCheckProtection"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." - */ - updateWebhook: { - (params?: RestEndpointMethodTypes["repos"]["updateWebhook"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." - * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. - */ - updateWebhookConfigForRepo: { - (params?: RestEndpointMethodTypes["repos"]["updateWebhookConfigForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in - * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. - * - * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: - * - * `application/zip` - * - * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, - * you'll still need to pass your authentication to be able to upload an asset. - * - * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. - * - * **Notes:** - * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). - * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. - */ - uploadReleaseAsset: { - (params?: RestEndpointMethodTypes["repos"]["uploadReleaseAsset"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - search: { - /** - * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: - * - * `q=addClass+in:file+language:js+repo:jquery/jquery` - * - * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. - * - * Considerations for code search: - * - * Due to the complexity of searching code, there are a few restrictions on how searches are performed: - * - * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. - * * Only files smaller than 384 KB are searchable. - * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing - * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. - * - * This endpoint requires you to authenticate and limits you to 10 requests per minute. - */ - code: { - (params?: RestEndpointMethodTypes["search"]["code"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match - * metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: - * - * `q=repo:octocat/Spoon-Knife+css` - */ - commits: { - (params?: RestEndpointMethodTypes["search"]["commits"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted - * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. - * - * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` - * - * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. - * - * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." - */ - issuesAndPullRequests: { - (params?: RestEndpointMethodTypes["search"]["issuesAndPullRequests"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: - * - * `q=bug+defect+enhancement&repository_id=64778136` - * - * The labels that best match the query appear first in the search results. - */ - labels: { - (params?: RestEndpointMethodTypes["search"]["labels"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: - * - * `q=tetris+language:assembly&sort=stars&order=desc` - * - * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. - */ - repos: { - (params?: RestEndpointMethodTypes["search"]["repos"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. - * - * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: - * - * `q=ruby+is:featured` - * - * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. - */ - topics: { - (params?: RestEndpointMethodTypes["search"]["topics"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you're looking for a list of popular users, you might try this query: - * - * `q=tom+repos:%3E42+followers:%3E1000` - * - * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. - * - * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." - */ - users: { - (params?: RestEndpointMethodTypes["search"]["users"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - secretScanning: { - /** - * Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - getAlert: { - (params?: RestEndpointMethodTypes["secretScanning"]["getAlert"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). - */ - listAlertsForEnterprise: { - (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForEnterprise"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - listAlertsForOrg: { - (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - listAlertsForRepo: { - (params?: RestEndpointMethodTypes["secretScanning"]["listAlertsForRepo"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - listLocationsForAlert: { - (params?: RestEndpointMethodTypes["secretScanning"]["listLocationsForAlert"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - updateAlert: { - (params?: RestEndpointMethodTypes["secretScanning"]["updateAlert"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - securityAdvisories: { - /** - * Report a security vulnerability to the maintainers of the repository. - * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. - */ - createPrivateVulnerabilityReport: { - (params?: RestEndpointMethodTypes["securityAdvisories"]["createPrivateVulnerabilityReport"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new repository security advisory. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. - */ - createRepositoryAdvisory: { - (params?: RestEndpointMethodTypes["securityAdvisories"]["createRepositoryAdvisory"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." - * - * You may request a CVE for public repositories, but cannot do so for private repositories. - * - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. - */ - createRepositoryAdvisoryCveRequest: { - (params?: RestEndpointMethodTypes["securityAdvisories"]["createRepositoryAdvisoryCveRequest"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. - */ - getGlobalAdvisory: { - (params?: RestEndpointMethodTypes["securityAdvisories"]["getGlobalAdvisory"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You can access any published security advisory on a public repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. - * - * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a - * collaborator on the security advisory. - */ - getRepositoryAdvisory: { - (params?: RestEndpointMethodTypes["securityAdvisories"]["getRepositoryAdvisory"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. - * - * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." - */ - listGlobalAdvisories: { - (params?: RestEndpointMethodTypes["securityAdvisories"]["listGlobalAdvisories"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists repository security advisories for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. - */ - listOrgRepositoryAdvisories: { - (params?: RestEndpointMethodTypes["securityAdvisories"]["listOrgRepositoryAdvisories"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists security advisories in a repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. - * - * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. - */ - listRepositoryAdvisories: { - (params?: RestEndpointMethodTypes["securityAdvisories"]["listRepositoryAdvisories"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to update any security advisory, you must be a security manager or administrator of that repository, - * or a collaborator on the repository security advisory. - */ - updateRepositoryAdvisory: { - (params?: RestEndpointMethodTypes["securityAdvisories"]["updateRepositoryAdvisory"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - teams: { - /** - * Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - addOrUpdateMembershipForUserInOrg: { - (params?: RestEndpointMethodTypes["teams"]["addOrUpdateMembershipForUserInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - addOrUpdateProjectPermissionsInOrg: { - (params?: RestEndpointMethodTypes["teams"]["addOrUpdateProjectPermissionsInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". - */ - addOrUpdateRepoPermissionsInOrg: { - (params?: RestEndpointMethodTypes["teams"]["addOrUpdateRepoPermissionsInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - checkPermissionsForProjectInOrg: { - (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForProjectInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. - * - * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - checkPermissionsForRepoInOrg: { - (params?: RestEndpointMethodTypes["teams"]["checkPermissionsForRepoInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - create: { - (params?: RestEndpointMethodTypes["teams"]["create"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - createDiscussionCommentInOrg: { - (params?: RestEndpointMethodTypes["teams"]["createDiscussionCommentInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. - */ - createDiscussionInOrg: { - (params?: RestEndpointMethodTypes["teams"]["createDiscussionInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - deleteDiscussionCommentInOrg: { - (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionCommentInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - deleteDiscussionInOrg: { - (params?: RestEndpointMethodTypes["teams"]["deleteDiscussionInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. - */ - deleteInOrg: { - (params?: RestEndpointMethodTypes["teams"]["deleteInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. - */ - getByName: { - (params?: RestEndpointMethodTypes["teams"]["getByName"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - getDiscussionCommentInOrg: { - (params?: RestEndpointMethodTypes["teams"]["getDiscussionCommentInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - getDiscussionInOrg: { - (params?: RestEndpointMethodTypes["teams"]["getDiscussionInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - getMembershipForUserInOrg: { - (params?: RestEndpointMethodTypes["teams"]["getMembershipForUserInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all teams in an organization that are visible to the authenticated user. - */ - list: { - (params?: RestEndpointMethodTypes["teams"]["list"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the child teams of the team specified by `{team_slug}`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. - */ - listChildInOrg: { - (params?: RestEndpointMethodTypes["teams"]["listChildInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - listDiscussionCommentsInOrg: { - (params?: RestEndpointMethodTypes["teams"]["listDiscussionCommentsInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. - */ - listDiscussionsInOrg: { - (params?: RestEndpointMethodTypes["teams"]["listDiscussionsInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. - */ - listForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["teams"]["listForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Team members will include the members of child teams. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - listMembersInOrg: { - (params?: RestEndpointMethodTypes["teams"]["listMembersInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. - */ - listPendingInvitationsInOrg: { - (params?: RestEndpointMethodTypes["teams"]["listPendingInvitationsInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the organization projects for a team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. - */ - listProjectsInOrg: { - (params?: RestEndpointMethodTypes["teams"]["listProjectsInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists a team's repositories visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. - */ - listReposInOrg: { - (params?: RestEndpointMethodTypes["teams"]["listReposInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - removeMembershipForUserInOrg: { - (params?: RestEndpointMethodTypes["teams"]["removeMembershipForUserInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - removeProjectInOrg: { - (params?: RestEndpointMethodTypes["teams"]["removeProjectInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - removeRepoInOrg: { - (params?: RestEndpointMethodTypes["teams"]["removeRepoInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - updateDiscussionCommentInOrg: { - (params?: RestEndpointMethodTypes["teams"]["updateDiscussionCommentInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - updateDiscussionInOrg: { - (params?: RestEndpointMethodTypes["teams"]["updateDiscussionInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. - */ - updateInOrg: { - (params?: RestEndpointMethodTypes["teams"]["updateInOrg"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; - users: { - /** - * This endpoint is accessible with the `user` scope. - * @deprecated octokit.rest.users.addEmailForAuthenticated() has been renamed to octokit.rest.users.addEmailForAuthenticatedUser() (2021-10-05) - */ - addEmailForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["addEmailForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This endpoint is accessible with the `user` scope. - */ - addEmailForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["addEmailForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - addSocialAccountForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["addSocialAccountForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. - */ - block: { - (params?: RestEndpointMethodTypes["users"]["block"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. - */ - checkBlocked: { - (params?: RestEndpointMethodTypes["users"]["checkBlocked"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - checkFollowingForUser: { - (params?: RestEndpointMethodTypes["users"]["checkFollowingForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - checkPersonIsFollowedByAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["checkPersonIsFollowedByAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * @deprecated octokit.rest.users.createGpgKeyForAuthenticated() has been renamed to octokit.rest.users.createGpgKeyForAuthenticatedUser() (2021-10-05) - */ - createGpgKeyForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["createGpgKeyForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - createGpgKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["createGpgKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * @deprecated octokit.rest.users.createPublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.createPublicSshKeyForAuthenticatedUser() (2021-10-05) - */ - createPublicSshKeyForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["createPublicSshKeyForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - createPublicSshKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["createPublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - createSshSigningKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["createSshSigningKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This endpoint is accessible with the `user` scope. - * @deprecated octokit.rest.users.deleteEmailForAuthenticated() has been renamed to octokit.rest.users.deleteEmailForAuthenticatedUser() (2021-10-05) - */ - deleteEmailForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["deleteEmailForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * This endpoint is accessible with the `user` scope. - */ - deleteEmailForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["deleteEmailForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * @deprecated octokit.rest.users.deleteGpgKeyForAuthenticated() has been renamed to octokit.rest.users.deleteGpgKeyForAuthenticatedUser() (2021-10-05) - */ - deleteGpgKeyForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["deleteGpgKeyForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - deleteGpgKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["deleteGpgKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * @deprecated octokit.rest.users.deletePublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.deletePublicSshKeyForAuthenticatedUser() (2021-10-05) - */ - deletePublicSshKeyForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["deletePublicSshKeyForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - deletePublicSshKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["deletePublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - deleteSocialAccountForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["deleteSocialAccountForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - deleteSshSigningKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["deleteSshSigningKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - follow: { - (params?: RestEndpointMethodTypes["users"]["follow"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. - * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. - */ - getAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["getAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Provides publicly available information about someone with a GitHub account. - * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" - * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public†which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). - * - * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". - */ - getByUsername: { - (params?: RestEndpointMethodTypes["users"]["getByUsername"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. - * - * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: - * - * ```shell - * curl -u username:token - * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 - * ``` - */ - getContextForUser: { - (params?: RestEndpointMethodTypes["users"]["getContextForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * @deprecated octokit.rest.users.getGpgKeyForAuthenticated() has been renamed to octokit.rest.users.getGpgKeyForAuthenticatedUser() (2021-10-05) - */ - getGpgKeyForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["getGpgKeyForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - getGpgKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["getGpgKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * @deprecated octokit.rest.users.getPublicSshKeyForAuthenticated() has been renamed to octokit.rest.users.getPublicSshKeyForAuthenticatedUser() (2021-10-05) - */ - getPublicSshKeyForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["getPublicSshKeyForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - getPublicSshKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["getPublicSshKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - getSshSigningKeyForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["getSshSigningKeyForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. - * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. - */ - list: { - (params?: RestEndpointMethodTypes["users"]["list"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the users you've blocked on your personal account. - * @deprecated octokit.rest.users.listBlockedByAuthenticated() has been renamed to octokit.rest.users.listBlockedByAuthenticatedUser() (2021-10-05) - */ - listBlockedByAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["listBlockedByAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * List the users you've blocked on your personal account. - */ - listBlockedByAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["listBlockedByAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. - * @deprecated octokit.rest.users.listEmailsForAuthenticated() has been renamed to octokit.rest.users.listEmailsForAuthenticatedUser() (2021-10-05) - */ - listEmailsForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["listEmailsForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. - */ - listEmailsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["listEmailsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the people who the authenticated user follows. - * @deprecated octokit.rest.users.listFollowedByAuthenticated() has been renamed to octokit.rest.users.listFollowedByAuthenticatedUser() (2021-10-05) - */ - listFollowedByAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["listFollowedByAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the people who the authenticated user follows. - */ - listFollowedByAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["listFollowedByAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the people following the authenticated user. - */ - listFollowersForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["listFollowersForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the people following the specified user. - */ - listFollowersForUser: { - (params?: RestEndpointMethodTypes["users"]["listFollowersForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the people who the specified user follows. - */ - listFollowingForUser: { - (params?: RestEndpointMethodTypes["users"]["listFollowingForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * @deprecated octokit.rest.users.listGpgKeysForAuthenticated() has been renamed to octokit.rest.users.listGpgKeysForAuthenticatedUser() (2021-10-05) - */ - listGpgKeysForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["listGpgKeysForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - listGpgKeysForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["listGpgKeysForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the GPG keys for a user. This information is accessible by anyone. - */ - listGpgKeysForUser: { - (params?: RestEndpointMethodTypes["users"]["listGpgKeysForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. - * @deprecated octokit.rest.users.listPublicEmailsForAuthenticated() has been renamed to octokit.rest.users.listPublicEmailsForAuthenticatedUser() (2021-10-05) - */ - listPublicEmailsForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["listPublicEmailsForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. - */ - listPublicEmailsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["listPublicEmailsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the _verified_ public SSH keys for a user. This is accessible by anyone. - */ - listPublicKeysForUser: { - (params?: RestEndpointMethodTypes["users"]["listPublicKeysForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * @deprecated octokit.rest.users.listPublicSshKeysForAuthenticated() has been renamed to octokit.rest.users.listPublicSshKeysForAuthenticatedUser() (2021-10-05) - */ - listPublicSshKeysForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["listPublicSshKeysForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - listPublicSshKeysForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["listPublicSshKeysForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists all of your social accounts. - */ - listSocialAccountsForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["listSocialAccountsForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists social media accounts for a user. This endpoint is accessible by anyone. - */ - listSocialAccountsForUser: { - (params?: RestEndpointMethodTypes["users"]["listSocialAccountsForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - listSshSigningKeysForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["listSshSigningKeysForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Lists the SSH signing keys for a user. This operation is accessible by anyone. - */ - listSshSigningKeysForUser: { - (params?: RestEndpointMethodTypes["users"]["listSshSigningKeysForUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sets the visibility for your primary email addresses. - * @deprecated octokit.rest.users.setPrimaryEmailVisibilityForAuthenticated() has been renamed to octokit.rest.users.setPrimaryEmailVisibilityForAuthenticatedUser() (2021-10-05) - */ - setPrimaryEmailVisibilityForAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["setPrimaryEmailVisibilityForAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Sets the visibility for your primary email addresses. - */ - setPrimaryEmailVisibilityForAuthenticatedUser: { - (params?: RestEndpointMethodTypes["users"]["setPrimaryEmailVisibilityForAuthenticatedUser"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Unblocks the given user and returns a 204. - */ - unblock: { - (params?: RestEndpointMethodTypes["users"]["unblock"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - unfollow: { - (params?: RestEndpointMethodTypes["users"]["unfollow"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - /** - * **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. - */ - updateAuthenticated: { - (params?: RestEndpointMethodTypes["users"]["updateAuthenticated"]["parameters"]): Promise; - defaults: RequestInterface["defaults"]; - endpoint: EndpointInterface<{ - url: string; - }>; - }; - }; -}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts deleted file mode 100644 index f90e21f..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types.d.ts +++ /dev/null @@ -1,3589 +0,0 @@ -import type { Endpoints, RequestParameters } from "@octokit/types"; -export type RestEndpointMethodTypes = { - actions: { - addCustomLabelsToSelfHostedRunnerForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; - }; - addCustomLabelsToSelfHostedRunnerForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; - }; - addSelectedRepoToOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; - }; - addSelectedRepoToOrgVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["response"]; - }; - approveWorkflowRun: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"]["response"]; - }; - cancelWorkflowRun: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"]["response"]; - }; - createEnvironmentVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repositories/{repository_id}/environments/{environment_name}/variables"]["response"]; - }; - createOrUpdateEnvironmentSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; - }; - createOrUpdateOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}"]["response"]; - }; - createOrUpdateRepoSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; - }; - createOrgVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/actions/variables"]["response"]; - }; - createRegistrationTokenForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/actions/runners/registration-token"]["response"]; - }; - createRegistrationTokenForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/registration-token"]["response"]; - }; - createRemoveTokenForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/actions/runners/remove-token"]["response"]; - }; - createRemoveTokenForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/remove-token"]["response"]; - }; - createRepoVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/variables"]["response"]; - }; - createWorkflowDispatch: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"]["response"]; - }; - deleteActionsCacheById: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"]["response"]; - }; - deleteActionsCacheByKey: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"]["response"]; - }; - deleteArtifact: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; - }; - deleteEnvironmentSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; - }; - deleteEnvironmentVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"]["response"]; - }; - deleteOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}"]["response"]; - }; - deleteOrgVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/actions/variables/{name}"]["response"]; - }; - deleteRepoSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; - }; - deleteRepoVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/variables/{name}"]["response"]; - }; - deleteSelfHostedRunnerFromOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}"]["response"]; - }; - deleteSelfHostedRunnerFromRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; - }; - deleteWorkflowRun: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; - }; - deleteWorkflowRunLogs: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; - }; - disableSelectedRepositoryGithubActionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; - }; - disableWorkflow: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"]["response"]; - }; - downloadArtifact: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"]["response"]; - }; - downloadJobLogsForWorkflowRun: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"]["response"]; - }; - downloadWorkflowRunAttemptLogs: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"]["response"]; - }; - downloadWorkflowRunLogs: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"]["response"]; - }; - enableSelectedRepositoryGithubActionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"]["response"]; - }; - enableWorkflow: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"]["response"]; - }; - generateRunnerJitconfigForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/actions/runners/generate-jitconfig"]["response"]; - }; - generateRunnerJitconfigForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"]["response"]; - }; - getActionsCacheList: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/caches"]["response"]; - }; - getActionsCacheUsage: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/cache/usage"]["response"]; - }; - getActionsCacheUsageByRepoForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/cache/usage-by-repository"]["response"]; - }; - getActionsCacheUsageForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/cache/usage"]["response"]; - }; - getAllowedActionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/permissions/selected-actions"]["response"]; - }; - getAllowedActionsRepository: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; - }; - getArtifact: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"]["response"]; - }; - getEnvironmentPublicKey: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"]["response"]; - }; - getEnvironmentSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"]["response"]; - }; - getEnvironmentVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"]["response"]; - }; - getGithubActionsDefaultWorkflowPermissionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/permissions/workflow"]["response"]; - }; - getGithubActionsDefaultWorkflowPermissionsRepository: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/workflow"]["response"]; - }; - getGithubActionsPermissionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/permissions"]["response"]; - }; - getGithubActionsPermissionsRepository: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; - }; - getJobForWorkflowRun: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"]["response"]; - }; - getOrgPublicKey: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/secrets/public-key"]["response"]; - }; - getOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}"]["response"]; - }; - getOrgVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/variables/{name}"]["response"]; - }; - getPendingDeploymentsForRun: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; - }; - getRepoPermissions: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions"]["response"]; - }; - getRepoPublicKey: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/public-key"]["response"]; - }; - getRepoSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"]["response"]; - }; - getRepoVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/variables/{name}"]["response"]; - }; - getReviewsForRun: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"]["response"]; - }; - getSelfHostedRunnerForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/runners/{runner_id}"]["response"]; - }; - getSelfHostedRunnerForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"]["response"]; - }; - getWorkflow: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"]["response"]; - }; - getWorkflowAccessToRepository: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/permissions/access"]["response"]; - }; - getWorkflowRun: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}"]["response"]; - }; - getWorkflowRunAttempt: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"]["response"]; - }; - getWorkflowRunUsage: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"]["response"]; - }; - getWorkflowUsage: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"]["response"]; - }; - listArtifactsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/artifacts"]["response"]; - }; - listEnvironmentSecrets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/secrets"]["response"]; - }; - listEnvironmentVariables: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repositories/{repository_id}/environments/{environment_name}/variables"]["response"]; - }; - listJobsForWorkflowRun: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"]["response"]; - }; - listJobsForWorkflowRunAttempt: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"]["response"]; - }; - listLabelsForSelfHostedRunnerForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; - }; - listLabelsForSelfHostedRunnerForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; - }; - listOrgSecrets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/secrets"]["response"]; - }; - listOrgVariables: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/variables"]["response"]; - }; - listRepoOrganizationSecrets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-secrets"]["response"]; - }; - listRepoOrganizationVariables: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/organization-variables"]["response"]; - }; - listRepoSecrets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/secrets"]["response"]; - }; - listRepoVariables: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/variables"]["response"]; - }; - listRepoWorkflows: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows"]["response"]; - }; - listRunnerApplicationsForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/runners/downloads"]["response"]; - }; - listRunnerApplicationsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runners/downloads"]["response"]; - }; - listSelectedReposForOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; - }; - listSelectedReposForOrgVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/variables/{name}/repositories"]["response"]; - }; - listSelectedRepositoriesEnabledGithubActionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/permissions/repositories"]["response"]; - }; - listSelfHostedRunnersForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/actions/runners"]["response"]; - }; - listSelfHostedRunnersForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runners"]["response"]; - }; - listWorkflowRunArtifacts: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"]["response"]; - }; - listWorkflowRuns: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"]["response"]; - }; - listWorkflowRunsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/actions/runs"]["response"]; - }; - reRunJobForWorkflowRun: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"]["response"]; - }; - reRunWorkflow: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"]["response"]; - }; - reRunWorkflowFailedJobs: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"]["response"]; - }; - removeAllCustomLabelsFromSelfHostedRunnerForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; - }; - removeAllCustomLabelsFromSelfHostedRunnerForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; - }; - removeCustomLabelFromSelfHostedRunnerForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"]["response"]; - }; - removeCustomLabelFromSelfHostedRunnerForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"]["response"]; - }; - removeSelectedRepoFromOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"]["response"]; - }; - removeSelectedRepoFromOrgVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"]["response"]; - }; - reviewCustomGatesForRun: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"]["response"]; - }; - reviewPendingDeploymentsForRun: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"]["response"]; - }; - setAllowedActionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/permissions/selected-actions"]["response"]; - }; - setAllowedActionsRepository: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"]["response"]; - }; - setCustomLabelsForSelfHostedRunnerForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/runners/{runner_id}/labels"]["response"]; - }; - setCustomLabelsForSelfHostedRunnerForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"]["response"]; - }; - setGithubActionsDefaultWorkflowPermissionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/permissions/workflow"]["response"]; - }; - setGithubActionsDefaultWorkflowPermissionsRepository: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/workflow"]["response"]; - }; - setGithubActionsPermissionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/permissions"]["response"]; - }; - setGithubActionsPermissionsRepository: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions"]["response"]; - }; - setSelectedReposForOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"]["response"]; - }; - setSelectedReposForOrgVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/variables/{name}/repositories"]["response"]; - }; - setSelectedRepositoriesEnabledGithubActionsOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/actions/permissions/repositories"]["response"]; - }; - setWorkflowAccessToRepository: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/actions/permissions/access"]["response"]; - }; - updateEnvironmentVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"]["response"]; - }; - updateOrgVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /orgs/{org}/actions/variables/{name}"]["response"]; - }; - updateRepoVariable: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]["response"]; - }; - }; - activity: { - checkRepoIsStarredByAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/starred/{owner}/{repo}"]["response"]; - }; - deleteRepoSubscription: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/subscription"]["response"]; - }; - deleteThreadSubscription: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /notifications/threads/{thread_id}/subscription"]["response"]; - }; - getFeeds: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /feeds"]["response"]; - }; - getRepoSubscription: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/subscription"]["response"]; - }; - getThread: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /notifications/threads/{thread_id}"]["response"]; - }; - getThreadSubscriptionForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /notifications/threads/{thread_id}/subscription"]["response"]; - }; - listEventsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/events"]["response"]; - }; - listNotificationsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /notifications"]["response"]; - }; - listOrgEventsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/events/orgs/{org}"]["response"]; - }; - listPublicEvents: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /events"]["response"]; - }; - listPublicEventsForRepoNetwork: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /networks/{owner}/{repo}/events"]["response"]; - }; - listPublicEventsForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/events/public"]["response"]; - }; - listPublicOrgEvents: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/events"]["response"]; - }; - listReceivedEventsForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/received_events"]["response"]; - }; - listReceivedPublicEventsForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/received_events/public"]["response"]; - }; - listRepoEvents: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/events"]["response"]; - }; - listRepoNotificationsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/notifications"]["response"]; - }; - listReposStarredByAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/starred"]["response"]; - }; - listReposStarredByUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/starred"]["response"]; - }; - listReposWatchedByUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/subscriptions"]["response"]; - }; - listStargazersForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/stargazers"]["response"]; - }; - listWatchedReposForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/subscriptions"]["response"]; - }; - listWatchersForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/subscribers"]["response"]; - }; - markNotificationsAsRead: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /notifications"]["response"]; - }; - markRepoNotificationsAsRead: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/notifications"]["response"]; - }; - markThreadAsRead: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /notifications/threads/{thread_id}"]["response"]; - }; - setRepoSubscription: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/subscription"]["response"]; - }; - setThreadSubscription: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /notifications/threads/{thread_id}/subscription"]["response"]; - }; - starRepoForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/starred/{owner}/{repo}"]["response"]; - }; - unstarRepoForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/starred/{owner}/{repo}"]["response"]; - }; - }; - apps: { - addRepoToInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; - }; - addRepoToInstallationForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; - }; - checkToken: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /applications/{client_id}/token"]["response"]; - }; - createFromManifest: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /app-manifests/{code}/conversions"]["response"]; - }; - createInstallationAccessToken: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /app/installations/{installation_id}/access_tokens"]["response"]; - }; - deleteAuthorization: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /applications/{client_id}/grant"]["response"]; - }; - deleteInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /app/installations/{installation_id}"]["response"]; - }; - deleteToken: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /applications/{client_id}/token"]["response"]; - }; - getAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /app"]["response"]; - }; - getBySlug: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /apps/{app_slug}"]["response"]; - }; - getInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /app/installations/{installation_id}"]["response"]; - }; - getOrgInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/installation"]["response"]; - }; - getRepoInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/installation"]["response"]; - }; - getSubscriptionPlanForAccount: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /marketplace_listing/accounts/{account_id}"]["response"]; - }; - getSubscriptionPlanForAccountStubbed: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /marketplace_listing/stubbed/accounts/{account_id}"]["response"]; - }; - getUserInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/installation"]["response"]; - }; - getWebhookConfigForApp: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /app/hook/config"]["response"]; - }; - getWebhookDelivery: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /app/hook/deliveries/{delivery_id}"]["response"]; - }; - listAccountsForPlan: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /marketplace_listing/plans/{plan_id}/accounts"]["response"]; - }; - listAccountsForPlanStubbed: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"]["response"]; - }; - listInstallationReposForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/installations/{installation_id}/repositories"]["response"]; - }; - listInstallationRequestsForAuthenticatedApp: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /app/installation-requests"]["response"]; - }; - listInstallations: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /app/installations"]["response"]; - }; - listInstallationsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/installations"]["response"]; - }; - listPlans: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /marketplace_listing/plans"]["response"]; - }; - listPlansStubbed: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /marketplace_listing/stubbed/plans"]["response"]; - }; - listReposAccessibleToInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /installation/repositories"]["response"]; - }; - listSubscriptionsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/marketplace_purchases"]["response"]; - }; - listSubscriptionsForAuthenticatedUserStubbed: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/marketplace_purchases/stubbed"]["response"]; - }; - listWebhookDeliveries: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /app/hook/deliveries"]["response"]; - }; - redeliverWebhookDelivery: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /app/hook/deliveries/{delivery_id}/attempts"]["response"]; - }; - removeRepoFromInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; - }; - removeRepoFromInstallationForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/installations/{installation_id}/repositories/{repository_id}"]["response"]; - }; - resetToken: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /applications/{client_id}/token"]["response"]; - }; - revokeInstallationAccessToken: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /installation/token"]["response"]; - }; - scopeToken: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /applications/{client_id}/token/scoped"]["response"]; - }; - suspendInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /app/installations/{installation_id}/suspended"]["response"]; - }; - unsuspendInstallation: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /app/installations/{installation_id}/suspended"]["response"]; - }; - updateWebhookConfigForApp: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /app/hook/config"]["response"]; - }; - }; - billing: { - getGithubActionsBillingOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/settings/billing/actions"]["response"]; - }; - getGithubActionsBillingUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/settings/billing/actions"]["response"]; - }; - getGithubPackagesBillingOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/settings/billing/packages"]["response"]; - }; - getGithubPackagesBillingUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/settings/billing/packages"]["response"]; - }; - getSharedStorageBillingOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/settings/billing/shared-storage"]["response"]; - }; - getSharedStorageBillingUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/settings/billing/shared-storage"]["response"]; - }; - }; - checks: { - create: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/check-runs"]["response"]; - }; - createSuite: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/check-suites"]["response"]; - }; - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; - }; - getSuite: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"]["response"]; - }; - listAnnotations: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"]["response"]; - }; - listForRef: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"]["response"]; - }; - listForSuite: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"]["response"]; - }; - listSuitesForRef: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"]["response"]; - }; - rerequestRun: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"]["response"]; - }; - rerequestSuite: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"]["response"]; - }; - setSuitesPreferences: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/check-suites/preferences"]["response"]; - }; - update: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]["response"]; - }; - }; - codeScanning: { - deleteAnalysis: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"]["response"]; - }; - getAlert: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; - }; - getAnalysis: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"]["response"]; - }; - getCodeqlDatabase: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"]["response"]; - }; - getDefaultSetup: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/default-setup"]["response"]; - }; - getSarif: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"]["response"]; - }; - listAlertInstances: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; - }; - listAlertsForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/code-scanning/alerts"]["response"]; - }; - listAlertsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts"]["response"]; - }; - listAlertsInstances: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"]["response"]; - }; - listCodeqlDatabases: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"]["response"]; - }; - listRecentAnalyses: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/code-scanning/analyses"]["response"]; - }; - updateAlert: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"]["response"]; - }; - updateDefaultSetup: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"]["response"]; - }; - uploadSarif: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/code-scanning/sarifs"]["response"]; - }; - }; - codesOfConduct: { - getAllCodesOfConduct: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /codes_of_conduct"]["response"]; - }; - getConductCode: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /codes_of_conduct/{key}"]["response"]; - }; - }; - codespaces: { - addRepositoryForSecretForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; - }; - addSelectedRepoToOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; - }; - codespaceMachinesForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/codespaces/{codespace_name}/machines"]["response"]; - }; - createForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/codespaces"]["response"]; - }; - createOrUpdateOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}"]["response"]; - }; - createOrUpdateRepoSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["response"]; - }; - createOrUpdateSecretForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/codespaces/secrets/{secret_name}"]["response"]; - }; - createWithPrForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"]["response"]; - }; - createWithRepoForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/codespaces"]["response"]; - }; - deleteForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/codespaces/{codespace_name}"]["response"]; - }; - deleteFromOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"]["response"]; - }; - deleteOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"]["response"]; - }; - deleteRepoSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["response"]; - }; - deleteSecretForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/codespaces/secrets/{secret_name}"]["response"]; - }; - exportForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/codespaces/{codespace_name}/exports"]["response"]; - }; - getCodespacesForUserInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/members/{username}/codespaces"]["response"]; - }; - getExportDetailsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/codespaces/{codespace_name}/exports/{export_id}"]["response"]; - }; - getForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/codespaces/{codespace_name}"]["response"]; - }; - getOrgPublicKey: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/codespaces/secrets/public-key"]["response"]; - }; - getOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}"]["response"]; - }; - getPublicKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/codespaces/secrets/public-key"]["response"]; - }; - getRepoPublicKey: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"]["response"]; - }; - getRepoSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"]["response"]; - }; - getSecretForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/codespaces/secrets/{secret_name}"]["response"]; - }; - listDevcontainersInRepositoryForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces/devcontainers"]["response"]; - }; - listForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/codespaces"]["response"]; - }; - listInOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/codespaces"]["response"]; - }; - listInRepositoryForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces"]["response"]; - }; - listOrgSecrets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/codespaces/secrets"]["response"]; - }; - listRepoSecrets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces/secrets"]["response"]; - }; - listRepositoriesForSecretForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/codespaces/secrets/{secret_name}/repositories"]["response"]; - }; - listSecretsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/codespaces/secrets"]["response"]; - }; - listSelectedReposForOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"]; - }; - preFlightWithRepoForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces/new"]["response"]; - }; - publishForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/codespaces/{codespace_name}/publish"]["response"]; - }; - removeRepositoryForSecretForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; - }; - removeSelectedRepoFromOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"]["response"]; - }; - repoMachinesForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/codespaces/machines"]["response"]; - }; - setRepositoriesForSecretForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/codespaces/secrets/{secret_name}/repositories"]["response"]; - }; - setSelectedReposForOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"]["response"]; - }; - startForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/codespaces/{codespace_name}/start"]["response"]; - }; - stopForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/codespaces/{codespace_name}/stop"]["response"]; - }; - stopInOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"]["response"]; - }; - updateForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /user/codespaces/{codespace_name}"]["response"]; - }; - }; - copilot: { - addCopilotForBusinessSeatsForTeams: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/copilot/billing/selected_teams"]["response"]; - }; - addCopilotForBusinessSeatsForUsers: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/copilot/billing/selected_users"]["response"]; - }; - cancelCopilotSeatAssignmentForTeams: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/copilot/billing/selected_teams"]["response"]; - }; - cancelCopilotSeatAssignmentForUsers: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/copilot/billing/selected_users"]["response"]; - }; - getCopilotOrganizationDetails: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/copilot/billing"]["response"]; - }; - getCopilotSeatAssignmentDetailsForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/members/{username}/copilot"]["response"]; - }; - listCopilotSeats: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/copilot/billing/seats"]["response"]; - }; - }; - dependabot: { - addSelectedRepoToOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["response"]; - }; - createOrUpdateOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}"]["response"]; - }; - createOrUpdateRepoSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["response"]; - }; - deleteOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"]["response"]; - }; - deleteRepoSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["response"]; - }; - getAlert: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["response"]; - }; - getOrgPublicKey: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/dependabot/secrets/public-key"]["response"]; - }; - getOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}"]["response"]; - }; - getRepoPublicKey: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"]["response"]; - }; - getRepoSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"]["response"]; - }; - listAlertsForEnterprise: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /enterprises/{enterprise}/dependabot/alerts"]["response"]; - }; - listAlertsForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/dependabot/alerts"]["response"]; - }; - listAlertsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/dependabot/alerts"]["response"]; - }; - listOrgSecrets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/dependabot/secrets"]["response"]; - }; - listRepoSecrets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/dependabot/secrets"]["response"]; - }; - listSelectedReposForOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]; - }; - removeSelectedRepoFromOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"]["response"]; - }; - setSelectedReposForOrgSecret: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"]["response"]; - }; - updateAlert: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]["response"]; - }; - }; - dependencyGraph: { - createRepositorySnapshot: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/dependency-graph/snapshots"]["response"]; - }; - diffRange: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"]["response"]; - }; - exportSbom: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/dependency-graph/sbom"]["response"]; - }; - }; - emojis: { - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /emojis"]["response"]; - }; - }; - gists: { - checkIsStarred: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists/{gist_id}/star"]["response"]; - }; - create: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /gists"]["response"]; - }; - createComment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /gists/{gist_id}/comments"]["response"]; - }; - delete: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /gists/{gist_id}"]["response"]; - }; - deleteComment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /gists/{gist_id}/comments/{comment_id}"]["response"]; - }; - fork: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /gists/{gist_id}/forks"]["response"]; - }; - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists/{gist_id}"]["response"]; - }; - getComment: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists/{gist_id}/comments/{comment_id}"]["response"]; - }; - getRevision: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists/{gist_id}/{sha}"]["response"]; - }; - list: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists"]["response"]; - }; - listComments: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists/{gist_id}/comments"]["response"]; - }; - listCommits: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists/{gist_id}/commits"]["response"]; - }; - listForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/gists"]["response"]; - }; - listForks: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists/{gist_id}/forks"]["response"]; - }; - listPublic: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists/public"]["response"]; - }; - listStarred: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gists/starred"]["response"]; - }; - star: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /gists/{gist_id}/star"]["response"]; - }; - unstar: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /gists/{gist_id}/star"]["response"]; - }; - update: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /gists/{gist_id}"]["response"]; - }; - updateComment: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /gists/{gist_id}/comments/{comment_id}"]["response"]; - }; - }; - git: { - createBlob: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/git/blobs"]["response"]; - }; - createCommit: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/git/commits"]["response"]; - }; - createRef: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/git/refs"]["response"]; - }; - createTag: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/git/tags"]["response"]; - }; - createTree: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/git/trees"]["response"]; - }; - deleteRef: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; - }; - getBlob: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"]["response"]; - }; - getCommit: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"]["response"]; - }; - getRef: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/git/ref/{ref}"]["response"]; - }; - getTag: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"]["response"]; - }; - getTree: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"]["response"]; - }; - listMatchingRefs: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"]["response"]; - }; - updateRef: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]["response"]; - }; - }; - gitignore: { - getAllTemplates: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gitignore/templates"]["response"]; - }; - getTemplate: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /gitignore/templates/{name}"]["response"]; - }; - }; - interactions: { - getRestrictionsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/interaction-limits"]["response"]; - }; - getRestrictionsForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/interaction-limits"]["response"]; - }; - getRestrictionsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/interaction-limits"]["response"]; - }; - getRestrictionsForYourPublicRepos: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/interaction-limits"]["response"]; - }; - removeRestrictionsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/interaction-limits"]["response"]; - }; - removeRestrictionsForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/interaction-limits"]["response"]; - }; - removeRestrictionsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/interaction-limits"]["response"]; - }; - removeRestrictionsForYourPublicRepos: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/interaction-limits"]["response"]; - }; - setRestrictionsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/interaction-limits"]["response"]; - }; - setRestrictionsForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/interaction-limits"]["response"]; - }; - setRestrictionsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/interaction-limits"]["response"]; - }; - setRestrictionsForYourPublicRepos: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/interaction-limits"]["response"]; - }; - }; - issues: { - addAssignees: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; - }; - addLabels: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; - }; - checkUserCanBeAssigned: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/assignees/{assignee}"]["response"]; - }; - checkUserCanBeAssignedToIssue: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"]["response"]; - }; - create: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/issues"]["response"]; - }; - createComment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; - }; - createLabel: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/labels"]["response"]; - }; - createMilestone: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/milestones"]["response"]; - }; - deleteComment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; - }; - deleteLabel: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/labels/{name}"]["response"]; - }; - deleteMilestone: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; - }; - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; - }; - getComment: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; - }; - getEvent: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/events/{event_id}"]["response"]; - }; - getLabel: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/labels/{name}"]["response"]; - }; - getMilestone: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; - }; - list: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /issues"]["response"]; - }; - listAssignees: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/assignees"]["response"]; - }; - listComments: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"]["response"]; - }; - listCommentsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/comments"]["response"]; - }; - listEvents: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/events"]["response"]; - }; - listEventsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/events"]["response"]; - }; - listEventsForTimeline: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"]["response"]; - }; - listForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/issues"]["response"]; - }; - listForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/issues"]["response"]; - }; - listForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues"]["response"]; - }; - listLabelsForMilestone: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"]["response"]; - }; - listLabelsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/labels"]["response"]; - }; - listLabelsOnIssue: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; - }; - listMilestones: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/milestones"]["response"]; - }; - lock: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; - }; - removeAllLabels: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; - }; - removeAssignees: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"]["response"]; - }; - removeLabel: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"]["response"]; - }; - setLabels: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"]["response"]; - }; - unlock: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"]["response"]; - }; - update: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/issues/{issue_number}"]["response"]; - }; - updateComment: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"]["response"]; - }; - updateLabel: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/labels/{name}"]["response"]; - }; - updateMilestone: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]["response"]; - }; - }; - licenses: { - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /licenses/{license}"]["response"]; - }; - getAllCommonlyUsed: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /licenses"]["response"]; - }; - getForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/license"]["response"]; - }; - }; - markdown: { - render: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /markdown"]["response"]; - }; - renderRaw: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /markdown/raw"]["response"]; - }; - }; - meta: { - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /meta"]["response"]; - }; - getAllVersions: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /versions"]["response"]; - }; - getOctocat: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /octocat"]["response"]; - }; - getZen: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /zen"]["response"]; - }; - root: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /"]["response"]; - }; - }; - migrations: { - cancelImport: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/import"]["response"]; - }; - deleteArchiveForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/migrations/{migration_id}/archive"]["response"]; - }; - deleteArchiveForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/archive"]["response"]; - }; - downloadArchiveForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/archive"]["response"]; - }; - getArchiveForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/migrations/{migration_id}/archive"]["response"]; - }; - getCommitAuthors: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/import/authors"]["response"]; - }; - getImportStatus: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/import"]["response"]; - }; - getLargeFiles: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/import/large_files"]["response"]; - }; - getStatusForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/migrations/{migration_id}"]["response"]; - }; - getStatusForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/migrations/{migration_id}"]["response"]; - }; - listForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/migrations"]["response"]; - }; - listForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/migrations"]["response"]; - }; - listReposForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; - }; - listReposForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/migrations/{migration_id}/repositories"]["response"]; - }; - listReposForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/migrations/{migration_id}/repositories"]["response"]; - }; - mapCommitAuthor: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"]["response"]; - }; - setLfsPreference: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/import/lfs"]["response"]; - }; - startForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/migrations"]["response"]; - }; - startForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/migrations"]["response"]; - }; - startImport: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/import"]["response"]; - }; - unlockRepoForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; - }; - unlockRepoForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]["response"]; - }; - updateImport: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/import"]["response"]; - }; - }; - orgs: { - addSecurityManagerTeam: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/security-managers/teams/{team_slug}"]["response"]; - }; - blockUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/blocks/{username}"]["response"]; - }; - cancelInvitation: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/invitations/{invitation_id}"]["response"]; - }; - checkBlockedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/blocks/{username}"]["response"]; - }; - checkMembershipForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/members/{username}"]["response"]; - }; - checkPublicMembershipForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/public_members/{username}"]["response"]; - }; - convertMemberToOutsideCollaborator: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/outside_collaborators/{username}"]["response"]; - }; - createInvitation: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/invitations"]["response"]; - }; - createWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/hooks"]["response"]; - }; - delete: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}"]["response"]; - }; - deleteWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/hooks/{hook_id}"]["response"]; - }; - enableOrDisableSecurityProductOnAllOrgRepos: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/{security_product}/{enablement}"]["response"]; - }; - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}"]["response"]; - }; - getMembershipForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/memberships/orgs/{org}"]["response"]; - }; - getMembershipForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/memberships/{username}"]["response"]; - }; - getWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/hooks/{hook_id}"]["response"]; - }; - getWebhookConfigForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/config"]["response"]; - }; - getWebhookDelivery: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"]["response"]; - }; - list: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /organizations"]["response"]; - }; - listAppInstallations: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/installations"]["response"]; - }; - listBlockedUsers: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/blocks"]["response"]; - }; - listFailedInvitations: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/failed_invitations"]["response"]; - }; - listForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/orgs"]["response"]; - }; - listForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/orgs"]["response"]; - }; - listInvitationTeams: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/invitations/{invitation_id}/teams"]["response"]; - }; - listMembers: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/members"]["response"]; - }; - listMembershipsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/memberships/orgs"]["response"]; - }; - listOutsideCollaborators: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/outside_collaborators"]["response"]; - }; - listPatGrantRepositories: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"]["response"]; - }; - listPatGrantRequestRepositories: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"]["response"]; - }; - listPatGrantRequests: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/personal-access-token-requests"]["response"]; - }; - listPatGrants: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/personal-access-tokens"]["response"]; - }; - listPendingInvitations: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/invitations"]["response"]; - }; - listPublicMembers: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/public_members"]["response"]; - }; - listSecurityManagerTeams: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/security-managers"]["response"]; - }; - listWebhookDeliveries: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/hooks/{hook_id}/deliveries"]["response"]; - }; - listWebhooks: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/hooks"]["response"]; - }; - pingWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/hooks/{hook_id}/pings"]["response"]; - }; - redeliverWebhookDelivery: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["response"]; - }; - removeMember: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/members/{username}"]["response"]; - }; - removeMembershipForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/memberships/{username}"]["response"]; - }; - removeOutsideCollaborator: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/outside_collaborators/{username}"]["response"]; - }; - removePublicMembershipForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/public_members/{username}"]["response"]; - }; - removeSecurityManagerTeam: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/security-managers/teams/{team_slug}"]["response"]; - }; - reviewPatGrantRequest: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"]["response"]; - }; - reviewPatGrantRequestsInBulk: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/personal-access-token-requests"]["response"]; - }; - setMembershipForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/memberships/{username}"]["response"]; - }; - setPublicMembershipForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/public_members/{username}"]["response"]; - }; - unblockUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/blocks/{username}"]["response"]; - }; - update: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /orgs/{org}"]["response"]; - }; - updateMembershipForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /user/memberships/orgs/{org}"]["response"]; - }; - updatePatAccess: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/personal-access-tokens/{pat_id}"]["response"]; - }; - updatePatAccesses: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/personal-access-tokens"]["response"]; - }; - updateWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}"]["response"]; - }; - updateWebhookConfigForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /orgs/{org}/hooks/{hook_id}/config"]["response"]; - }; - }; - packages: { - deletePackageForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/packages/{package_type}/{package_name}"]["response"]; - }; - deletePackageForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; - }; - deletePackageForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}"]["response"]; - }; - deletePackageVersionForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; - }; - deletePackageVersionForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; - }; - deletePackageVersionForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; - }; - getAllPackageVersionsForAPackageOwnedByAnOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; - }; - getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; - }; - getAllPackageVersionsForPackageOwnedByAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions"]["response"]; - }; - getAllPackageVersionsForPackageOwnedByOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"]["response"]; - }; - getAllPackageVersionsForPackageOwnedByUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions"]["response"]; - }; - getPackageForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/packages/{package_type}/{package_name}"]["response"]; - }; - getPackageForOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}"]["response"]; - }; - getPackageForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}"]["response"]; - }; - getPackageVersionForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; - }; - getPackageVersionForOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; - }; - getPackageVersionForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"]["response"]; - }; - listDockerMigrationConflictingPackagesForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/docker/conflicts"]["response"]; - }; - listDockerMigrationConflictingPackagesForOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/docker/conflicts"]["response"]; - }; - listDockerMigrationConflictingPackagesForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/docker/conflicts"]["response"]; - }; - listPackagesForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/packages"]["response"]; - }; - listPackagesForOrganization: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/packages"]["response"]; - }; - listPackagesForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/packages"]["response"]; - }; - restorePackageForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/packages/{package_type}/{package_name}/restore{?token}"]["response"]; - }; - restorePackageForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; - }; - restorePackageForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"]["response"]; - }; - restorePackageVersionForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; - }; - restorePackageVersionForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; - }; - restorePackageVersionForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]["response"]; - }; - }; - projects: { - addCollaborator: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /projects/{project_id}/collaborators/{username}"]["response"]; - }; - createCard: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /projects/columns/{column_id}/cards"]["response"]; - }; - createColumn: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /projects/{project_id}/columns"]["response"]; - }; - createForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/projects"]["response"]; - }; - createForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/projects"]["response"]; - }; - createForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/projects"]["response"]; - }; - delete: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /projects/{project_id}"]["response"]; - }; - deleteCard: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /projects/columns/cards/{card_id}"]["response"]; - }; - deleteColumn: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /projects/columns/{column_id}"]["response"]; - }; - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /projects/{project_id}"]["response"]; - }; - getCard: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /projects/columns/cards/{card_id}"]["response"]; - }; - getColumn: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /projects/columns/{column_id}"]["response"]; - }; - getPermissionForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /projects/{project_id}/collaborators/{username}/permission"]["response"]; - }; - listCards: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /projects/columns/{column_id}/cards"]["response"]; - }; - listCollaborators: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /projects/{project_id}/collaborators"]["response"]; - }; - listColumns: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /projects/{project_id}/columns"]["response"]; - }; - listForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/projects"]["response"]; - }; - listForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/projects"]["response"]; - }; - listForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/projects"]["response"]; - }; - moveCard: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /projects/columns/cards/{card_id}/moves"]["response"]; - }; - moveColumn: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /projects/columns/{column_id}/moves"]["response"]; - }; - removeCollaborator: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /projects/{project_id}/collaborators/{username}"]["response"]; - }; - update: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /projects/{project_id}"]["response"]; - }; - updateCard: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /projects/columns/cards/{card_id}"]["response"]; - }; - updateColumn: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /projects/columns/{column_id}"]["response"]; - }; - }; - pulls: { - checkIfMerged: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; - }; - create: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pulls"]["response"]; - }; - createReplyForReviewComment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"]["response"]; - }; - createReview: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; - }; - createReviewComment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; - }; - deletePendingReview: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; - }; - deleteReviewComment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; - }; - dismissReview: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"]["response"]; - }; - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; - }; - getReview: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; - }; - getReviewComment: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; - }; - list: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls"]["response"]; - }; - listCommentsForReview: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"]["response"]; - }; - listCommits: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"]["response"]; - }; - listFiles: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"]["response"]; - }; - listRequestedReviewers: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; - }; - listReviewComments: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"]["response"]; - }; - listReviewCommentsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments"]["response"]; - }; - listReviews: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"]["response"]; - }; - merge: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"]["response"]; - }; - removeRequestedReviewers: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; - }; - requestReviewers: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"]["response"]; - }; - submitReview: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"]["response"]; - }; - update: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"]["response"]; - }; - updateBranch: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"]["response"]; - }; - updateReview: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"]["response"]; - }; - updateReviewComment: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]["response"]; - }; - }; - rateLimit: { - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /rate_limit"]["response"]; - }; - }; - reactions: { - createForCommitComment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; - }; - createForIssue: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; - }; - createForIssueComment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; - }; - createForPullRequestReviewComment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; - }; - createForRelease: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; - }; - createForTeamDiscussionCommentInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; - }; - createForTeamDiscussionInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; - }; - deleteForCommitComment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"]["response"]; - }; - deleteForIssue: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"]["response"]; - }; - deleteForIssueComment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"]["response"]; - }; - deleteForPullRequestComment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"]["response"]; - }; - deleteForRelease: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"]["response"]; - }; - deleteForTeamDiscussion: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"]["response"]; - }; - deleteForTeamDiscussionComment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"]["response"]; - }; - listForCommitComment: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"]["response"]; - }; - listForIssue: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"]["response"]; - }; - listForIssueComment: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"]["response"]; - }; - listForPullRequestReviewComment: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"]["response"]; - }; - listForRelease: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"]["response"]; - }; - listForTeamDiscussionCommentInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"]["response"]; - }; - listForTeamDiscussionInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]["response"]; - }; - }; - repos: { - acceptInvitation: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["response"]; - }; - acceptInvitationForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /user/repository_invitations/{invitation_id}"]["response"]; - }; - addAppAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; - }; - addCollaborator: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/collaborators/{username}"]["response"]; - }; - addStatusCheckContexts: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; - }; - addTeamAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; - }; - addUserAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; - }; - checkAutomatedSecurityFixes: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/automated-security-fixes"]["response"]; - }; - checkCollaborator: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}"]["response"]; - }; - checkVulnerabilityAlerts: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; - }; - codeownersErrors: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/codeowners/errors"]["response"]; - }; - compareCommits: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/compare/{base}...{head}"]["response"]; - }; - compareCommitsWithBasehead: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/compare/{basehead}"]["response"]; - }; - createAutolink: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/autolinks"]["response"]; - }; - createCommitComment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; - }; - createCommitSignatureProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; - }; - createCommitStatus: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/statuses/{sha}"]["response"]; - }; - createDeployKey: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/keys"]["response"]; - }; - createDeployment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/deployments"]["response"]; - }; - createDeploymentBranchPolicy: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"]; - }; - createDeploymentProtectionRule: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["response"]; - }; - createDeploymentStatus: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; - }; - createDispatchEvent: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/dispatches"]["response"]; - }; - createForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/repos"]["response"]; - }; - createFork: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/forks"]["response"]; - }; - createInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/repos"]["response"]; - }; - createOrUpdateEnvironment: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; - }; - createOrUpdateFileContents: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/contents/{path}"]["response"]; - }; - createOrgRuleset: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/rulesets"]["response"]; - }; - createPagesDeployment: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pages/deployment"]["response"]; - }; - createPagesSite: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pages"]["response"]; - }; - createRelease: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/releases"]["response"]; - }; - createRepoRuleset: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/rulesets"]["response"]; - }; - createTagProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/tags/protection"]["response"]; - }; - createUsingTemplate: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{template_owner}/{template_repo}/generate"]["response"]; - }; - createWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/hooks"]["response"]; - }; - declineInvitation: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["response"]; - }; - declineInvitationForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/repository_invitations/{invitation_id}"]["response"]; - }; - delete: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}"]["response"]; - }; - deleteAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; - }; - deleteAdminBranchProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; - }; - deleteAnEnvironment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; - }; - deleteAutolink: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"]["response"]; - }; - deleteBranchProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; - }; - deleteCommitComment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; - }; - deleteCommitSignatureProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; - }; - deleteDeployKey: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/keys/{key_id}"]["response"]; - }; - deleteDeployment: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; - }; - deleteDeploymentBranchPolicy: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["response"]; - }; - deleteFile: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/contents/{path}"]["response"]; - }; - deleteInvitation: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; - }; - deleteOrgRuleset: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/rulesets/{ruleset_id}"]["response"]; - }; - deletePagesSite: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/pages"]["response"]; - }; - deletePullRequestReviewProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; - }; - deleteRelease: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/releases/{release_id}"]["response"]; - }; - deleteReleaseAsset: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; - }; - deleteRepoRuleset: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["response"]; - }; - deleteTagProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"]["response"]; - }; - deleteWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; - }; - disableAutomatedSecurityFixes: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/automated-security-fixes"]["response"]; - }; - disableDeploymentProtectionRule: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["response"]; - }; - disablePrivateVulnerabilityReporting: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"]["response"]; - }; - disableVulnerabilityAlerts: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; - }; - downloadArchive: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; - }; - downloadTarballArchive: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/tarball/{ref}"]["response"]; - }; - downloadZipballArchive: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/zipball/{ref}"]["response"]; - }; - enableAutomatedSecurityFixes: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/automated-security-fixes"]["response"]; - }; - enablePrivateVulnerabilityReporting: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"]["response"]; - }; - enableVulnerabilityAlerts: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/vulnerability-alerts"]["response"]; - }; - generateReleaseNotes: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/releases/generate-notes"]["response"]; - }; - get: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}"]["response"]; - }; - getAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"]["response"]; - }; - getAdminBranchProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; - }; - getAllDeploymentProtectionRules: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"]["response"]; - }; - getAllEnvironments: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/environments"]["response"]; - }; - getAllStatusCheckContexts: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; - }; - getAllTopics: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/topics"]["response"]; - }; - getAppsWithAccessToProtectedBranch: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; - }; - getAutolink: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"]["response"]; - }; - getBranch: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}"]["response"]; - }; - getBranchProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; - }; - getBranchRules: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/rules/branches/{branch}"]["response"]; - }; - getClones: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/traffic/clones"]["response"]; - }; - getCodeFrequencyStats: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/stats/code_frequency"]["response"]; - }; - getCollaboratorPermissionLevel: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/collaborators/{username}/permission"]["response"]; - }; - getCombinedStatusForRef: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/status"]["response"]; - }; - getCommit: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}"]["response"]; - }; - getCommitActivityStats: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/stats/commit_activity"]["response"]; - }; - getCommitComment: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; - }; - getCommitSignatureProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"]["response"]; - }; - getCommunityProfileMetrics: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/community/profile"]["response"]; - }; - getContent: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/contents/{path}"]["response"]; - }; - getContributorsStats: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/stats/contributors"]["response"]; - }; - getCustomDeploymentProtectionRule: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"]["response"]; - }; - getDeployKey: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/keys/{key_id}"]["response"]; - }; - getDeployment: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}"]["response"]; - }; - getDeploymentBranchPolicy: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["response"]; - }; - getDeploymentStatus: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"]["response"]; - }; - getEnvironment: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}"]["response"]; - }; - getLatestPagesBuild: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/latest"]["response"]; - }; - getLatestRelease: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/releases/latest"]["response"]; - }; - getOrgRuleset: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/rulesets/{ruleset_id}"]["response"]; - }; - getOrgRulesets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/rulesets"]["response"]; - }; - getPages: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pages"]["response"]; - }; - getPagesBuild: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pages/builds/{build_id}"]["response"]; - }; - getPagesHealthCheck: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pages/health"]["response"]; - }; - getParticipationStats: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/stats/participation"]["response"]; - }; - getPullRequestReviewProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; - }; - getPunchCardStats: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/stats/punch_card"]["response"]; - }; - getReadme: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/readme"]["response"]; - }; - getReadmeInDirectory: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/readme/{dir}"]["response"]; - }; - getRelease: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}"]["response"]; - }; - getReleaseAsset: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; - }; - getReleaseByTag: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/releases/tags/{tag}"]["response"]; - }; - getRepoRuleset: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["response"]; - }; - getRepoRulesets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/rulesets"]["response"]; - }; - getStatusChecksProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; - }; - getTeamsWithAccessToProtectedBranch: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; - }; - getTopPaths: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/paths"]["response"]; - }; - getTopReferrers: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/traffic/popular/referrers"]["response"]; - }; - getUsersWithAccessToProtectedBranch: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; - }; - getViews: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/traffic/views"]["response"]; - }; - getWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; - }; - getWebhookConfigForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; - }; - getWebhookDelivery: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"]["response"]; - }; - listActivities: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/activity"]["response"]; - }; - listAutolinks: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/autolinks"]["response"]; - }; - listBranches: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/branches"]["response"]; - }; - listBranchesForHeadCommit: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"]["response"]; - }; - listCollaborators: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/collaborators"]["response"]; - }; - listCommentsForCommit: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"]["response"]; - }; - listCommitCommentsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/comments"]["response"]; - }; - listCommitStatusesForRef: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{ref}/statuses"]["response"]; - }; - listCommits: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/commits"]["response"]; - }; - listContributors: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/contributors"]["response"]; - }; - listCustomDeploymentRuleIntegrations: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"]["response"]; - }; - listDeployKeys: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/keys"]["response"]; - }; - listDeploymentBranchPolicies: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"]["response"]; - }; - listDeploymentStatuses: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"]["response"]; - }; - listDeployments: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/deployments"]["response"]; - }; - listForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/repos"]["response"]; - }; - listForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/repos"]["response"]; - }; - listForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/repos"]["response"]; - }; - listForks: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/forks"]["response"]; - }; - listInvitations: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/invitations"]["response"]; - }; - listInvitationsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/repository_invitations"]["response"]; - }; - listLanguages: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/languages"]["response"]; - }; - listPagesBuilds: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/pages/builds"]["response"]; - }; - listPublic: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repositories"]["response"]; - }; - listPullRequestsAssociatedWithCommit: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"]["response"]; - }; - listReleaseAssets: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/releases/{release_id}/assets"]["response"]; - }; - listReleases: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/releases"]["response"]; - }; - listTagProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/tags/protection"]["response"]; - }; - listTags: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/tags"]["response"]; - }; - listTeams: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/teams"]["response"]; - }; - listWebhookDeliveries: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"]["response"]; - }; - listWebhooks: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/hooks"]["response"]; - }; - merge: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/merges"]["response"]; - }; - mergeUpstream: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/merge-upstream"]["response"]; - }; - pingWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"]["response"]; - }; - redeliverWebhookDelivery: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"]["response"]; - }; - removeAppAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; - }; - removeCollaborator: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/collaborators/{username}"]["response"]; - }; - removeStatusCheckContexts: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; - }; - removeStatusCheckProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; - }; - removeTeamAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; - }; - removeUserAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; - }; - renameBranch: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/rename"]["response"]; - }; - replaceAllTopics: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/topics"]["response"]; - }; - requestPagesBuild: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/pages/builds"]["response"]; - }; - setAdminBranchProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"]["response"]; - }; - setAppAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"]["response"]; - }; - setStatusCheckContexts: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"]["response"]; - }; - setTeamAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"]["response"]; - }; - setUserAccessRestrictions: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"]["response"]; - }; - testPushWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"]["response"]; - }; - transfer: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/transfer"]["response"]; - }; - update: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}"]["response"]; - }; - updateBranchProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/branches/{branch}/protection"]["response"]; - }; - updateCommitComment: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/comments/{comment_id}"]["response"]; - }; - updateDeploymentBranchPolicy: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"]["response"]; - }; - updateInformationAboutPagesSite: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/pages"]["response"]; - }; - updateInvitation: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"]["response"]; - }; - updateOrgRuleset: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/rulesets/{ruleset_id}"]["response"]; - }; - updatePullRequestReviewProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"]["response"]; - }; - updateRelease: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/releases/{release_id}"]["response"]; - }; - updateReleaseAsset: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"]["response"]; - }; - updateRepoRuleset: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"]["response"]; - }; - updateStatusCheckPotection: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; - }; - updateStatusCheckProtection: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"]["response"]; - }; - updateWebhook: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"]["response"]; - }; - updateWebhookConfigForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"]["response"]; - }; - uploadReleaseAsset: { - parameters: RequestParameters & Omit; - response: Endpoints["POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]["response"]; - }; - }; - search: { - code: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /search/code"]["response"]; - }; - commits: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /search/commits"]["response"]; - }; - issuesAndPullRequests: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /search/issues"]["response"]; - }; - labels: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /search/labels"]["response"]; - }; - repos: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /search/repositories"]["response"]; - }; - topics: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /search/topics"]["response"]; - }; - users: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /search/users"]["response"]; - }; - }; - secretScanning: { - getAlert: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; - }; - listAlertsForEnterprise: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /enterprises/{enterprise}/secret-scanning/alerts"]["response"]; - }; - listAlertsForOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/secret-scanning/alerts"]["response"]; - }; - listAlertsForRepo: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts"]["response"]; - }; - listLocationsForAlert: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"]["response"]; - }; - updateAlert: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]["response"]; - }; - }; - securityAdvisories: { - createPrivateVulnerabilityReport: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/security-advisories/reports"]["response"]; - }; - createRepositoryAdvisory: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/security-advisories"]["response"]; - }; - createRepositoryAdvisoryCveRequest: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"]["response"]; - }; - getGlobalAdvisory: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /advisories/{ghsa_id}"]["response"]; - }; - getRepositoryAdvisory: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["response"]; - }; - listGlobalAdvisories: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /advisories"]["response"]; - }; - listOrgRepositoryAdvisories: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/security-advisories"]["response"]; - }; - listRepositoryAdvisories: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /repos/{owner}/{repo}/security-advisories"]["response"]; - }; - updateRepositoryAdvisory: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]["response"]; - }; - }; - teams: { - addOrUpdateMembershipForUserInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; - }; - addOrUpdateProjectPermissionsInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; - }; - addOrUpdateRepoPermissionsInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; - }; - checkPermissionsForProjectInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; - }; - checkPermissionsForRepoInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; - }; - create: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/teams"]["response"]; - }; - createDiscussionCommentInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; - }; - createDiscussionInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /orgs/{org}/teams/{team_slug}/discussions"]["response"]; - }; - deleteDiscussionCommentInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; - }; - deleteDiscussionInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; - }; - deleteInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}"]["response"]; - }; - getByName: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}"]["response"]; - }; - getDiscussionCommentInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; - }; - getDiscussionInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; - }; - getMembershipForUserInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; - }; - list: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams"]["response"]; - }; - listChildInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/teams"]["response"]; - }; - listDiscussionCommentsInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"]["response"]; - }; - listDiscussionsInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/discussions"]["response"]; - }; - listForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/teams"]["response"]; - }; - listMembersInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/members"]["response"]; - }; - listPendingInvitationsInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/invitations"]["response"]; - }; - listProjectsInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/projects"]["response"]; - }; - listReposInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /orgs/{org}/teams/{team_slug}/repos"]["response"]; - }; - removeMembershipForUserInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"]["response"]; - }; - removeProjectInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"]["response"]; - }; - removeRepoInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"]["response"]; - }; - updateDiscussionCommentInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"]["response"]; - }; - updateDiscussionInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"]["response"]; - }; - updateInOrg: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /orgs/{org}/teams/{team_slug}"]["response"]; - }; - }; - users: { - addEmailForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/emails"]["response"]; - }; - addEmailForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/emails"]["response"]; - }; - addSocialAccountForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/social_accounts"]["response"]; - }; - block: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/blocks/{username}"]["response"]; - }; - checkBlocked: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/blocks/{username}"]["response"]; - }; - checkFollowingForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/following/{target_user}"]["response"]; - }; - checkPersonIsFollowedByAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/following/{username}"]["response"]; - }; - createGpgKeyForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/gpg_keys"]["response"]; - }; - createGpgKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/gpg_keys"]["response"]; - }; - createPublicSshKeyForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/keys"]["response"]; - }; - createPublicSshKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/keys"]["response"]; - }; - createSshSigningKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["POST /user/ssh_signing_keys"]["response"]; - }; - deleteEmailForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/emails"]["response"]; - }; - deleteEmailForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/emails"]["response"]; - }; - deleteGpgKeyForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["response"]; - }; - deleteGpgKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/gpg_keys/{gpg_key_id}"]["response"]; - }; - deletePublicSshKeyForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/keys/{key_id}"]["response"]; - }; - deletePublicSshKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/keys/{key_id}"]["response"]; - }; - deleteSocialAccountForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/social_accounts"]["response"]; - }; - deleteSshSigningKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"]["response"]; - }; - follow: { - parameters: RequestParameters & Omit; - response: Endpoints["PUT /user/following/{username}"]["response"]; - }; - getAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user"]["response"]; - }; - getByUsername: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}"]["response"]; - }; - getContextForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/hovercard"]["response"]; - }; - getGpgKeyForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["response"]; - }; - getGpgKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/gpg_keys/{gpg_key_id}"]["response"]; - }; - getPublicSshKeyForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/keys/{key_id}"]["response"]; - }; - getPublicSshKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/keys/{key_id}"]["response"]; - }; - getSshSigningKeyForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/ssh_signing_keys/{ssh_signing_key_id}"]["response"]; - }; - list: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users"]["response"]; - }; - listBlockedByAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/blocks"]["response"]; - }; - listBlockedByAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/blocks"]["response"]; - }; - listEmailsForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/emails"]["response"]; - }; - listEmailsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/emails"]["response"]; - }; - listFollowedByAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/following"]["response"]; - }; - listFollowedByAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/following"]["response"]; - }; - listFollowersForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/followers"]["response"]; - }; - listFollowersForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/followers"]["response"]; - }; - listFollowingForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/following"]["response"]; - }; - listGpgKeysForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/gpg_keys"]["response"]; - }; - listGpgKeysForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/gpg_keys"]["response"]; - }; - listGpgKeysForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/gpg_keys"]["response"]; - }; - listPublicEmailsForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/public_emails"]["response"]; - }; - listPublicEmailsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/public_emails"]["response"]; - }; - listPublicKeysForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/keys"]["response"]; - }; - listPublicSshKeysForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/keys"]["response"]; - }; - listPublicSshKeysForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/keys"]["response"]; - }; - listSocialAccountsForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/social_accounts"]["response"]; - }; - listSocialAccountsForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/social_accounts"]["response"]; - }; - listSshSigningKeysForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /user/ssh_signing_keys"]["response"]; - }; - listSshSigningKeysForUser: { - parameters: RequestParameters & Omit; - response: Endpoints["GET /users/{username}/ssh_signing_keys"]["response"]; - }; - setPrimaryEmailVisibilityForAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /user/email/visibility"]["response"]; - }; - setPrimaryEmailVisibilityForAuthenticatedUser: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /user/email/visibility"]["response"]; - }; - unblock: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/blocks/{username}"]["response"]; - }; - unfollow: { - parameters: RequestParameters & Omit; - response: Endpoints["DELETE /user/following/{username}"]["response"]; - }; - updateAuthenticated: { - parameters: RequestParameters & Omit; - response: Endpoints["PATCH /user"]["response"]; - }; - }; -}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts deleted file mode 100644 index 4f7623e..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { Octokit } from "@octokit/core"; -export type { RestEndpointMethodTypes } from "./generated/parameters-and-response-types"; -import type { Api } from "./types"; -export declare function restEndpointMethods(octokit: Octokit): Api; -export declare namespace restEndpointMethods { - var VERSION: string; -} -export declare function legacyRestEndpointMethods(octokit: Octokit): Api["rest"] & Api; -export declare namespace legacyRestEndpointMethods { - var VERSION: string; -} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts deleted file mode 100644 index f43e12e..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/types.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Route, RequestParameters } from "@octokit/types"; -import type { RestEndpointMethods } from "./generated/method-types"; -export type Api = { - rest: RestEndpointMethods; -}; -export type EndpointDecorations = { - mapToData?: string; - deprecated?: string; - renamed?: [string, string]; - renamedParameters?: { - [name: string]: string; - }; -}; -export type EndpointsDefaultsAndDecorations = { - [scope: string]: { - [methodName: string]: [Route, RequestParameters?, EndpointDecorations?]; - }; -}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts deleted file mode 100644 index 5f07e2a..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "10.0.1"; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js deleted file mode 100644 index bbebef4..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js +++ /dev/null @@ -1,2002 +0,0 @@ -// pkg/dist-src/version.js -var VERSION = "10.0.1"; - -// pkg/dist-src/generated/endpoints.js -var Endpoints = { - actions: { - addCustomLabelsToSelfHostedRunnerForOrg: [ - "POST /orgs/{org}/actions/runners/{runner_id}/labels" - ], - addCustomLabelsToSelfHostedRunnerForRepo: [ - "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels" - ], - 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 /repositories/{repository_id}/environments/{environment_name}/variables" - ], - createOrUpdateEnvironmentSecret: [ - "PUT /repositories/{repository_id}/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 /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" - ], - deleteEnvironmentVariable: [ - "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}" - ], - 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" - ], - 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}"], - getEnvironmentPublicKey: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key" - ], - getEnvironmentSecret: [ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}" - ], - getEnvironmentVariable: [ - "GET /repositories/{repository_id}/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" - ], - 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 /repositories/{repository_id}/environments/{environment_name}/secrets" - ], - listEnvironmentVariables: [ - "GET /repositories/{repository_id}/environments/{environment_name}/variables" - ], - 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" - ], - 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 /repositories/{repository_id}/environments/{environment_name}/variables/{name}" - ], - 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"], - 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" - ], - 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" - ] - }, - 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: { - deleteAnalysis: [ - "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}" - ], - 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}" - ], - 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}"], - 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"] - }, - 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}" - ], - 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: { - addCopilotForBusinessSeatsForTeams: [ - "POST /orgs/{org}/copilot/billing/selected_teams" - ], - addCopilotForBusinessSeatsForUsers: [ - "POST /orgs/{org}/copilot/billing/selected_users" - ], - cancelCopilotSeatAssignmentForTeams: [ - "DELETE /orgs/{org}/copilot/billing/selected_teams" - ], - cancelCopilotSeatAssignmentForUsers: [ - "DELETE /orgs/{org}/copilot/billing/selected_users" - ], - getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"], - getCopilotSeatAssignmentDetailsForUser: [ - "GET /orgs/{org}/members/{username}/copilot" - ], - listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] - }, - 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}" - ], - setSelectedReposForOrgSecret: [ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}" - ] - }, - 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}"] - }, - 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" - ], - addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"], - 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}"], - 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"], - 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"], - 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" - ], - removeLabel: [ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}" - ], - 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: { - cancelImport: ["DELETE /repos/{owner}/{repo}/import"], - 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" - ], - getCommitAuthors: ["GET /repos/{owner}/{repo}/import/authors"], - getImportStatus: ["GET /repos/{owner}/{repo}/import"], - getLargeFiles: ["GET /repos/{owner}/{repo}/import/large_files"], - 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"] } - ], - mapCommitAuthor: ["PATCH /repos/{owner}/{repo}/import/authors/{author_id}"], - setLfsPreference: ["PATCH /repos/{owner}/{repo}/import/lfs"], - startForAuthenticatedUser: ["POST /user/migrations"], - startForOrg: ["POST /orgs/{org}/migrations"], - startImport: ["PUT /repos/{owner}/{repo}/import"], - unlockRepoForAuthenticatedUser: [ - "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock" - ], - unlockRepoForOrg: [ - "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock" - ], - updateImport: ["PATCH /repos/{owner}/{repo}/import"] - }, - orgs: { - addSecurityManagerTeam: [ - "PUT /orgs/{org}/security-managers/teams/{team_slug}" - ], - 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}" - ], - createInvitation: ["POST /orgs/{org}/invitations"], - createWebhook: ["POST /orgs/{org}/hooks"], - delete: ["DELETE /orgs/{org}"], - deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"], - enableOrDisableSecurityProductOnAllOrgRepos: [ - "POST /orgs/{org}/{security_product}/{enablement}" - ], - get: ["GET /orgs/{org}"], - getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"], - getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"], - 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"], - listBlockedUsers: ["GET /orgs/{org}/blocks"], - listFailedInvitations: ["GET /orgs/{org}/failed_invitations"], - listForAuthenticatedUser: ["GET /user/orgs"], - listForUser: ["GET /users/{username}/orgs"], - listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"], - listMembers: ["GET /orgs/{org}/members"], - listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"], - 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"], - 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" - ], - 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}" - ], - reviewPatGrantRequest: [ - "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}" - ], - reviewPatGrantRequestsInBulk: [ - "POST /orgs/{org}/personal-access-token-requests" - ], - setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"], - setPublicMembershipForAuthenticatedUser: [ - "PUT /orgs/{org}/public_members/{username}" - ], - unblockUser: ["DELETE /orgs/{org}/blocks/{username}"], - update: ["PATCH /orgs/{org}"], - 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" - ] - }, - projects: { - addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"], - createCard: ["POST /projects/columns/{column_id}/cards"], - createColumn: ["POST /projects/{project_id}/columns"], - createForAuthenticatedUser: ["POST /user/projects"], - createForOrg: ["POST /orgs/{org}/projects"], - createForRepo: ["POST /repos/{owner}/{repo}/projects"], - delete: ["DELETE /projects/{project_id}"], - deleteCard: ["DELETE /projects/columns/cards/{card_id}"], - deleteColumn: ["DELETE /projects/columns/{column_id}"], - get: ["GET /projects/{project_id}"], - getCard: ["GET /projects/columns/cards/{card_id}"], - getColumn: ["GET /projects/columns/{column_id}"], - getPermissionForUser: [ - "GET /projects/{project_id}/collaborators/{username}/permission" - ], - listCards: ["GET /projects/columns/{column_id}/cards"], - listCollaborators: ["GET /projects/{project_id}/collaborators"], - listColumns: ["GET /projects/{project_id}/columns"], - listForOrg: ["GET /orgs/{org}/projects"], - listForRepo: ["GET /repos/{owner}/{repo}/projects"], - listForUser: ["GET /users/{username}/projects"], - moveCard: ["POST /projects/columns/cards/{card_id}/moves"], - moveColumn: ["POST /projects/columns/{column_id}/moves"], - removeCollaborator: [ - "DELETE /projects/{project_id}/collaborators/{username}" - ], - update: ["PATCH /projects/{project_id}"], - updateCard: ["PATCH /projects/columns/cards/{card_id}"], - updateColumn: ["PATCH /projects/columns/{column_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" } - ], - checkAutomatedSecurityFixes: [ - "GET /repos/{owner}/{repo}/automated-security-fixes" - ], - checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"], - 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}" - ], - 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"], - 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/deployment"], - createPagesSite: ["POST /repos/{owner}/{repo}/pages"], - createRelease: ["POST /repos/{owner}/{repo}/releases"], - createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"], - createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"], - 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}"], - deleteTagProtection: [ - "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_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}" - ], - 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"], - 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}"], - 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}"], - getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_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"], - 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"], - listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"], - 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"], - labels: ["GET /search/labels"], - repos: ["GET /search/repositories"], - topics: ["GET /search/topics"], - users: ["GET /search/users"] - }, - secretScanning: { - getAlert: [ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ], - 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" - ], - updateAlert: [ - "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}" - ] - }, - securityAdvisories: { - 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}" - ], - addOrUpdateProjectPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - addOrUpdateRepoPermissionsInOrg: [ - "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}" - ], - checkPermissionsForProjectInOrg: [ - "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - 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" - ], - listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"], - listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"], - removeMembershipForUserInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}" - ], - removeProjectInOrg: [ - "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}" - ], - 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"], - 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"], - 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"], - 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; - -// pkg/dist-src/endpoints-to-methods.js -var 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 - }); - } -} -var 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); -} - -// pkg/dist-src/index.js -function restEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); - return { - rest: api - }; -} -restEndpointMethods.VERSION = VERSION; -function legacyRestEndpointMethods(octokit) { - const api = endpointsToMethods(octokit); - return { - ...api, - rest: api - }; -} -legacyRestEndpointMethods.VERSION = VERSION; -export { - legacyRestEndpointMethods, - restEndpointMethods -}; diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map b/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map deleted file mode 100644 index 8ae804e..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/dist-web/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/version.js", "../dist-src/generated/endpoints.js", "../dist-src/endpoints-to-methods.js", "../dist-src/index.js"], - "sourcesContent": ["const VERSION = \"10.0.1\";\nexport {\n VERSION\n};\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 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 /repositories/{repository_id}/environments/{environment_name}/variables\"\n ],\n createOrUpdateEnvironmentSecret: [\n \"PUT /repositories/{repository_id}/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 /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n deleteEnvironmentVariable: [\n \"DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\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 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 getEnvironmentPublicKey: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key\"\n ],\n getEnvironmentSecret: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}\"\n ],\n getEnvironmentVariable: [\n \"GET /repositories/{repository_id}/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 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 /repositories/{repository_id}/environments/{environment_name}/secrets\"\n ],\n listEnvironmentVariables: [\n \"GET /repositories/{repository_id}/environments/{environment_name}/variables\"\n ],\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 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 /repositories/{repository_id}/environments/{environment_name}/variables/{name}\"\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 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 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 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 deleteAnalysis: [\n \"DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}\"\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 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 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 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 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 addCopilotForBusinessSeatsForTeams: [\n \"POST /orgs/{org}/copilot/billing/selected_teams\"\n ],\n addCopilotForBusinessSeatsForUsers: [\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 getCopilotOrganizationDetails: [\"GET /orgs/{org}/copilot/billing\"],\n getCopilotSeatAssignmentDetailsForUser: [\n \"GET /orgs/{org}/members/{username}/copilot\"\n ],\n listCopilotSeats: [\"GET /orgs/{org}/copilot/billing/seats\"]\n },\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 setSelectedReposForOrgSecret: [\n \"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories\"\n ],\n updateAlert: [\n \"PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}\"\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 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 addLabels: [\"POST /repos/{owner}/{repo}/issues/{issue_number}/labels\"],\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 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 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 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 removeLabel: [\n \"DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}\"\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 cancelImport: [\"DELETE /repos/{owner}/{repo}/import\"],\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 getCommitAuthors: [\"GET /repos/{owner}/{repo}/import/authors\"],\n getImportStatus: [\"GET /repos/{owner}/{repo}/import\"],\n getLargeFiles: [\"GET /repos/{owner}/{repo}/import/large_files\"],\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 mapCommitAuthor: [\"PATCH /repos/{owner}/{repo}/import/authors/{author_id}\"],\n setLfsPreference: [\"PATCH /repos/{owner}/{repo}/import/lfs\"],\n startForAuthenticatedUser: [\"POST /user/migrations\"],\n startForOrg: [\"POST /orgs/{org}/migrations\"],\n startImport: [\"PUT /repos/{owner}/{repo}/import\"],\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 updateImport: [\"PATCH /repos/{owner}/{repo}/import\"]\n },\n orgs: {\n addSecurityManagerTeam: [\n \"PUT /orgs/{org}/security-managers/teams/{team_slug}\"\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 createInvitation: [\"POST /orgs/{org}/invitations\"],\n createWebhook: [\"POST /orgs/{org}/hooks\"],\n delete: [\"DELETE /orgs/{org}\"],\n deleteWebhook: [\"DELETE /orgs/{org}/hooks/{hook_id}\"],\n enableOrDisableSecurityProductOnAllOrgRepos: [\n \"POST /orgs/{org}/{security_product}/{enablement}\"\n ],\n get: [\"GET /orgs/{org}\"],\n getMembershipForAuthenticatedUser: [\"GET /user/memberships/orgs/{org}\"],\n getMembershipForUser: [\"GET /orgs/{org}/memberships/{username}\"],\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 listBlockedUsers: [\"GET /orgs/{org}/blocks\"],\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 listMembers: [\"GET /orgs/{org}/members\"],\n listMembershipsForAuthenticatedUser: [\"GET /user/memberships/orgs\"],\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: [\"GET /orgs/{org}/security-managers\"],\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 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 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 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 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 projects: {\n addCollaborator: [\"PUT /projects/{project_id}/collaborators/{username}\"],\n createCard: [\"POST /projects/columns/{column_id}/cards\"],\n createColumn: [\"POST /projects/{project_id}/columns\"],\n createForAuthenticatedUser: [\"POST /user/projects\"],\n createForOrg: [\"POST /orgs/{org}/projects\"],\n createForRepo: [\"POST /repos/{owner}/{repo}/projects\"],\n delete: [\"DELETE /projects/{project_id}\"],\n deleteCard: [\"DELETE /projects/columns/cards/{card_id}\"],\n deleteColumn: [\"DELETE /projects/columns/{column_id}\"],\n get: [\"GET /projects/{project_id}\"],\n getCard: [\"GET /projects/columns/cards/{card_id}\"],\n getColumn: [\"GET /projects/columns/{column_id}\"],\n getPermissionForUser: [\n \"GET /projects/{project_id}/collaborators/{username}/permission\"\n ],\n listCards: [\"GET /projects/columns/{column_id}/cards\"],\n listCollaborators: [\"GET /projects/{project_id}/collaborators\"],\n listColumns: [\"GET /projects/{project_id}/columns\"],\n listForOrg: [\"GET /orgs/{org}/projects\"],\n listForRepo: [\"GET /repos/{owner}/{repo}/projects\"],\n listForUser: [\"GET /users/{username}/projects\"],\n moveCard: [\"POST /projects/columns/cards/{card_id}/moves\"],\n moveColumn: [\"POST /projects/columns/{column_id}/moves\"],\n removeCollaborator: [\n \"DELETE /projects/{project_id}/collaborators/{username}\"\n ],\n update: [\"PATCH /projects/{project_id}\"],\n updateCard: [\"PATCH /projects/columns/cards/{card_id}\"],\n updateColumn: [\"PATCH /projects/columns/{column_id}\"]\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 checkAutomatedSecurityFixes: [\n \"GET /repos/{owner}/{repo}/automated-security-fixes\"\n ],\n checkCollaborator: [\"GET /repos/{owner}/{repo}/collaborators/{username}\"],\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 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 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/deployment\"],\n createPagesSite: [\"POST /repos/{owner}/{repo}/pages\"],\n createRelease: [\"POST /repos/{owner}/{repo}/releases\"],\n createRepoRuleset: [\"POST /repos/{owner}/{repo}/rulesets\"],\n createTagProtection: [\"POST /repos/{owner}/{repo}/tags/protection\"],\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 deleteTagProtection: [\n \"DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}\"\n ],\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 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 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 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 getRepoRuleset: [\"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}\"],\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 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 listTagProtection: [\"GET /repos/{owner}/{repo}/tags/protection\"],\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: [\"GET /search/issues\"],\n labels: [\"GET /search/labels\"],\n repos: [\"GET /search/repositories\"],\n topics: [\"GET /search/topics\"],\n users: [\"GET /search/users\"]\n },\n secretScanning: {\n getAlert: [\n \"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ],\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 updateAlert: [\n \"PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}\"\n ]\n },\n securityAdvisories: {\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 addOrUpdateProjectPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\n ],\n addOrUpdateRepoPermissionsInOrg: [\n \"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}\"\n ],\n checkPermissionsForProjectInOrg: [\n \"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\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 listProjectsInOrg: [\"GET /orgs/{org}/teams/{team_slug}/projects\"],\n listReposInOrg: [\"GET /orgs/{org}/teams/{team_slug}/repos\"],\n removeMembershipForUserInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}\"\n ],\n removeProjectInOrg: [\n \"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}\"\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 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 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 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", "import ENDPOINTS from \"./generated/endpoints\";\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", "import { VERSION } from \"./version\";\nimport { endpointsToMethods } from \"./endpoints-to-methods\";\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"], - "mappings": ";AAAA,IAAM,UAAU;;;ACAhB,IAAM,YAAY;AAAA,EAChB,SAAS;AAAA,IACP,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,+CAA+C;AAAA,IACzE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oCAAoC;AAAA,IACxD,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,+CAA+C;AAAA,IACzE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,8CAA8C;AAAA,IACnE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,oDAAoD;AAAA,MAClD;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,mDAAmD;AAAA,MACjD;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,0CAA0C;AAAA,IAChE,sBAAsB,CAAC,+CAA+C;AAAA,IACtE,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,qCAAqC;AAAA,IAClE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,2DAA2D;AAAA,IACzE,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,wDAAwD;AAAA,MACtD;AAAA,IACF;AAAA,IACA,sDAAsD;AAAA,MACpD;AAAA,IACF;AAAA,IACA,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,iDAAiD;AAAA,IACxE,iBAAiB,CAAC,4CAA4C;AAAA,IAC9D,cAAc,CAAC,+CAA+C;AAAA,IAC9D,gBAAgB,CAAC,0CAA0C;AAAA,IAC3D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,WAAW,uCAAuC,EAAE;AAAA,IAClE;AAAA,IACA,kBAAkB,CAAC,sDAAsD;AAAA,IACzE,eAAe,CAAC,yDAAyD;AAAA,IACzE,iBAAiB,CAAC,oDAAoD;AAAA,IACtE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,6CAA6C;AAAA,IACzE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,aAAa,CAAC,2DAA2D;AAAA,IACzE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,iDAAiD;AAAA,IAClE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,6CAA6C;AAAA,IACpE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,iCAAiC;AAAA,IAClD,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,2CAA2C;AAAA,IAC7D,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,0DAA0D;AAAA,MACxD;AAAA,IACF;AAAA,IACA,6BAA6B,CAAC,iCAAiC;AAAA,IAC/D,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,wCAAwC;AAAA,IAClE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,wDAAwD;AAAA,IACxE,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,iDAAiD;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,kDAAkD;AAAA,MAChD;AAAA,IACF;AAAA,IACA,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,wDAAwD;AAAA,MACtD;AAAA,IACF;AAAA,IACA,sDAAsD;AAAA,MACpD;AAAA,IACF;AAAA,IACA,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yDAAyD;AAAA,MACvD;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,uCAAuC,CAAC,kCAAkC;AAAA,IAC1E,wBAAwB,CAAC,2CAA2C;AAAA,IACpE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,UAAU,CAAC,YAAY;AAAA,IACvB,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,WAAW,CAAC,wCAAwC;AAAA,IACpD,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,gCAAgC,CAAC,8BAA8B;AAAA,IAC/D,uCAAuC,CAAC,oBAAoB;AAAA,IAC5D,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,aAAa;AAAA,IAChC,gCAAgC,CAAC,qCAAqC;AAAA,IACtE,yBAAyB,CAAC,qCAAqC;AAAA,IAC/D,qBAAqB,CAAC,wBAAwB;AAAA,IAC9C,2BAA2B,CAAC,uCAAuC;AAAA,IACnE,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,kCAAkC;AAAA,IACnD,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,qCAAqC,CAAC,mBAAmB;AAAA,IACzD,wBAAwB,CAAC,+BAA+B;AAAA,IACxD,wBAAwB,CAAC,qCAAqC;AAAA,IAC9D,uBAAuB,CAAC,sCAAsC;AAAA,IAC9D,sCAAsC,CAAC,yBAAyB;AAAA,IAChE,qBAAqB,CAAC,uCAAuC;AAAA,IAC7D,yBAAyB,CAAC,oBAAoB;AAAA,IAC9C,6BAA6B,CAAC,yCAAyC;AAAA,IACvE,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,8BAA8B,CAAC,kCAAkC;AAAA,IACjE,gCAAgC,CAAC,qCAAqC;AAAA,EACxE;AAAA,EACA,MAAM;AAAA,IACJ,uBAAuB;AAAA,MACrB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,QAAQ,2CAA2C,EAAE;AAAA,IACnE;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,YAAY,CAAC,sCAAsC;AAAA,IACnD,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,oBAAoB,CAAC,6CAA6C;AAAA,IAClE,aAAa,CAAC,wCAAwC;AAAA,IACtD,kBAAkB,CAAC,UAAU;AAAA,IAC7B,WAAW,CAAC,sBAAsB;AAAA,IAClC,iBAAiB,CAAC,0CAA0C;AAAA,IAC5D,oBAAoB,CAAC,8BAA8B;AAAA,IACnD,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,oCAAoC;AAAA,IAC1D,wBAAwB,CAAC,sBAAsB;AAAA,IAC/C,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,wBAAwB;AAAA,IAC5C,uCAAuC,CAAC,yBAAyB;AAAA,IACjE,WAAW,CAAC,gCAAgC;AAAA,IAC5C,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,mCAAmC,CAAC,gCAAgC;AAAA,IACpE,uCAAuC,CAAC,iCAAiC;AAAA,IACzE,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,uBAAuB,CAAC,0BAA0B;AAAA,IAClD,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,QAAQ,gDAAgD,EAAE;AAAA,IACxE;AAAA,IACA,gDAAgD;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,YAAY,CAAC,uCAAuC;AAAA,IACpD,+BAA+B,CAAC,4BAA4B;AAAA,IAC5D,YAAY,CAAC,6CAA6C;AAAA,IAC1D,qBAAqB,CAAC,oDAAoD;AAAA,IAC1E,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,wBAAwB;AAAA,EACtD;AAAA,EACA,SAAS;AAAA,IACP,4BAA4B,CAAC,0CAA0C;AAAA,IACvE,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,6BAA6B,CAAC,2CAA2C;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,CAAC,uCAAuC;AAAA,IAChD,aAAa,CAAC,yCAAyC;AAAA,IACvD,KAAK,CAAC,qDAAqD;AAAA,IAC3D,UAAU,CAAC,yDAAyD;AAAA,IACpE,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,YAAY,CAAC,oDAAoD;AAAA,IACjE,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,sDAAsD;AAAA,IACzE,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,uDAAuD;AAAA,EAClE;AAAA,EACA,cAAc;AAAA,IACZ,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,MACA,CAAC;AAAA,MACD,EAAE,mBAAmB,EAAE,UAAU,eAAe,EAAE;AAAA,IACpD;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,uDAAuD;AAAA,IACzE,UAAU,CAAC,2DAA2D;AAAA,IACtE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,sCAAsC;AAAA,IACzD,mBAAmB,CAAC,gDAAgD;AAAA,IACpE,qBAAqB;AAAA,MACnB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,oBAAoB,EAAE;AAAA,IACpD;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,kDAAkD;AAAA,IACvE,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,iDAAiD;AAAA,EACjE;AAAA,EACA,gBAAgB;AAAA,IACd,sBAAsB,CAAC,uBAAuB;AAAA,IAC9C,gBAAgB,CAAC,6BAA6B;AAAA,EAChD;AAAA,EACA,YAAY;AAAA,IACV,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,uBAAuB;AAAA,IACpD,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,0CAA0C;AAAA,IACvE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,uCAAuC;AAAA,IACjE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,cAAc,CAAC,kDAAkD;AAAA,IACjE,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,mDAAmD;AAAA,MACjD;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,sBAAsB;AAAA,IACjD,oBAAoB;AAAA,MAClB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,mBAAmB,EAAE,QAAQ,MAAM,EAAE;AAAA,IACzC;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,iBAAiB,CAAC,8CAA8C;AAAA,IAChE,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,iCAAiC,CAAC,8BAA8B;AAAA,IAChE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,8CAA8C;AAAA,IAC1E,0BAA0B,CAAC,6CAA6C;AAAA,IACxE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,yCAAyC;AAAA,EACxE;AAAA,EACA,SAAS;AAAA,IACP,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,+BAA+B,CAAC,iCAAiC;AAAA,IACjE,wCAAwC;AAAA,MACtC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uCAAuC;AAAA,EAC5D;AAAA,EACA,YAAY;AAAA,IACV,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,UAAU,CAAC,4DAA4D;AAAA,IACvE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,cAAc,CAAC,kDAAkD;AAAA,IACjE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,mBAAmB,CAAC,6CAA6C;AAAA,IACjE,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,iBAAiB,CAAC,8CAA8C;AAAA,IAChE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT;AAAA,IACF;AAAA,IACA,YAAY,CAAC,iDAAiD;AAAA,EAChE;AAAA,EACA,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE;AAAA,EAC/B,OAAO;AAAA,IACL,gBAAgB,CAAC,2BAA2B;AAAA,IAC5C,QAAQ,CAAC,aAAa;AAAA,IACtB,eAAe,CAAC,gCAAgC;AAAA,IAChD,QAAQ,CAAC,yBAAyB;AAAA,IAClC,eAAe,CAAC,+CAA+C;AAAA,IAC/D,MAAM,CAAC,6BAA6B;AAAA,IACpC,KAAK,CAAC,sBAAsB;AAAA,IAC5B,YAAY,CAAC,4CAA4C;AAAA,IACzD,aAAa,CAAC,4BAA4B;AAAA,IAC1C,MAAM,CAAC,YAAY;AAAA,IACnB,cAAc,CAAC,+BAA+B;AAAA,IAC9C,aAAa,CAAC,8BAA8B;AAAA,IAC5C,aAAa,CAAC,6BAA6B;AAAA,IAC3C,WAAW,CAAC,4BAA4B;AAAA,IACxC,YAAY,CAAC,mBAAmB;AAAA,IAChC,aAAa,CAAC,oBAAoB;AAAA,IAClC,MAAM,CAAC,2BAA2B;AAAA,IAClC,QAAQ,CAAC,8BAA8B;AAAA,IACvC,QAAQ,CAAC,wBAAwB;AAAA,IACjC,eAAe,CAAC,8CAA8C;AAAA,EAChE;AAAA,EACA,KAAK;AAAA,IACH,YAAY,CAAC,sCAAsC;AAAA,IACnD,cAAc,CAAC,wCAAwC;AAAA,IACvD,WAAW,CAAC,qCAAqC;AAAA,IACjD,WAAW,CAAC,qCAAqC;AAAA,IACjD,YAAY,CAAC,sCAAsC;AAAA,IACnD,WAAW,CAAC,6CAA6C;AAAA,IACzD,SAAS,CAAC,gDAAgD;AAAA,IAC1D,WAAW,CAAC,oDAAoD;AAAA,IAChE,QAAQ,CAAC,yCAAyC;AAAA,IAClD,QAAQ,CAAC,8CAA8C;AAAA,IACvD,SAAS,CAAC,gDAAgD;AAAA,IAC1D,kBAAkB,CAAC,mDAAmD;AAAA,IACtE,WAAW,CAAC,4CAA4C;AAAA,EAC1D;AAAA,EACA,WAAW;AAAA,IACT,iBAAiB,CAAC,0BAA0B;AAAA,IAC5C,aAAa,CAAC,iCAAiC;AAAA,EACjD;AAAA,EACA,cAAc;AAAA,IACZ,qCAAqC,CAAC,8BAA8B;AAAA,IACpE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,wBAAwB,CAAC,8CAA8C;AAAA,IACvE,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,qCAAqC,EAAE;AAAA,IACrE;AAAA,IACA,wCAAwC,CAAC,iCAAiC;AAAA,IAC1E,0BAA0B,CAAC,uCAAuC;AAAA,IAClE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,wCAAwC,EAAE;AAAA,IACxE;AAAA,IACA,qCAAqC,CAAC,8BAA8B;AAAA,IACpE,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,wBAAwB,CAAC,8CAA8C;AAAA,IACvE,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,gBAAgB,qCAAqC,EAAE;AAAA,IACrE;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,WAAW,CAAC,yDAAyD;AAAA,IACrE,wBAAwB,CAAC,gDAAgD;AAAA,IACzE,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,mCAAmC;AAAA,IAC5C,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mCAAmC;AAAA,IACjD,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,aAAa,CAAC,4CAA4C;AAAA,IAC1D,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,KAAK,CAAC,iDAAiD;AAAA,IACvD,YAAY,CAAC,wDAAwD;AAAA,IACrE,UAAU,CAAC,oDAAoD;AAAA,IAC/D,UAAU,CAAC,yCAAyC;AAAA,IACpD,cAAc,CAAC,yDAAyD;AAAA,IACxE,MAAM,CAAC,aAAa;AAAA,IACpB,eAAe,CAAC,qCAAqC;AAAA,IACrD,cAAc,CAAC,0DAA0D;AAAA,IACzE,qBAAqB,CAAC,2CAA2C;AAAA,IACjE,YAAY,CAAC,wDAAwD;AAAA,IACrE,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,0BAA0B,CAAC,kBAAkB;AAAA,IAC7C,YAAY,CAAC,wBAAwB;AAAA,IACrC,aAAa,CAAC,kCAAkC;AAAA,IAChD,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,kCAAkC;AAAA,IACtD,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sCAAsC;AAAA,IACvD,MAAM,CAAC,sDAAsD;AAAA,IAC7D,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,IACA,WAAW,CAAC,wDAAwD;AAAA,IACpE,QAAQ,CAAC,yDAAyD;AAAA,IAClE,QAAQ,CAAC,mDAAmD;AAAA,IAC5D,eAAe,CAAC,0DAA0D;AAAA,IAC1E,aAAa,CAAC,2CAA2C;AAAA,IACzD,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,KAAK,CAAC,yBAAyB;AAAA,IAC/B,oBAAoB,CAAC,eAAe;AAAA,IACpC,YAAY,CAAC,mCAAmC;AAAA,EAClD;AAAA,EACA,UAAU;AAAA,IACR,QAAQ,CAAC,gBAAgB;AAAA,IACzB,WAAW;AAAA,MACT;AAAA,MACA,EAAE,SAAS,EAAE,gBAAgB,4BAA4B,EAAE;AAAA,IAC7D;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,KAAK,CAAC,WAAW;AAAA,IACjB,gBAAgB,CAAC,eAAe;AAAA,IAChC,YAAY,CAAC,cAAc;AAAA,IAC3B,QAAQ,CAAC,UAAU;AAAA,IACnB,MAAM,CAAC,OAAO;AAAA,EAChB;AAAA,EACA,YAAY;AAAA,IACV,cAAc,CAAC,qCAAqC;AAAA,IACpD,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,iBAAiB,CAAC,kCAAkC;AAAA,IACpD,eAAe,CAAC,8CAA8C;AAAA,IAC9D,+BAA+B,CAAC,qCAAqC;AAAA,IACrE,iBAAiB,CAAC,2CAA2C;AAAA,IAC7D,0BAA0B,CAAC,sBAAsB;AAAA,IACjD,YAAY,CAAC,4BAA4B;AAAA,IACzC,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,wDAAwD;AAAA,IAC1E,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,cAAc,+BAA+B,EAAE;AAAA,IAC7D;AAAA,IACA,iBAAiB,CAAC,wDAAwD;AAAA,IAC1E,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,2BAA2B,CAAC,uBAAuB;AAAA,IACnD,aAAa,CAAC,6BAA6B;AAAA,IAC3C,aAAa,CAAC,kCAAkC;AAAA,IAChD,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,oCAAoC;AAAA,EACrD;AAAA,EACA,MAAM;AAAA,IACJ,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,WAAW,CAAC,mCAAmC;AAAA,IAC/C,kBAAkB,CAAC,gDAAgD;AAAA,IACnE,kBAAkB,CAAC,mCAAmC;AAAA,IACtD,wBAAwB,CAAC,oCAAoC;AAAA,IAC7D,8BAA8B,CAAC,2CAA2C;AAAA,IAC1E,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,8BAA8B;AAAA,IACjD,eAAe,CAAC,wBAAwB;AAAA,IACxC,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,eAAe,CAAC,oCAAoC;AAAA,IACpD,6CAA6C;AAAA,MAC3C;AAAA,IACF;AAAA,IACA,KAAK,CAAC,iBAAiB;AAAA,IACvB,mCAAmC,CAAC,kCAAkC;AAAA,IACtE,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,YAAY,CAAC,iCAAiC;AAAA,IAC9C,wBAAwB,CAAC,wCAAwC;AAAA,IACjE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,MAAM,CAAC,oBAAoB;AAAA,IAC3B,sBAAsB,CAAC,+BAA+B;AAAA,IACtD,kBAAkB,CAAC,wBAAwB;AAAA,IAC3C,uBAAuB,CAAC,oCAAoC;AAAA,IAC5D,0BAA0B,CAAC,gBAAgB;AAAA,IAC3C,aAAa,CAAC,4BAA4B;AAAA,IAC1C,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,aAAa,CAAC,yBAAyB;AAAA,IACvC,qCAAqC,CAAC,4BAA4B;AAAA,IAClE,0BAA0B,CAAC,uCAAuC;AAAA,IAClE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,gDAAgD;AAAA,IACvE,eAAe,CAAC,wCAAwC;AAAA,IACxD,wBAAwB,CAAC,6BAA6B;AAAA,IACtD,mBAAmB,CAAC,gCAAgC;AAAA,IACpD,0BAA0B,CAAC,mCAAmC;AAAA,IAC9D,uBAAuB,CAAC,4CAA4C;AAAA,IACpE,cAAc,CAAC,uBAAuB;AAAA,IACtC,aAAa,CAAC,wCAAwC;AAAA,IACtD,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,uCAAuC;AAAA,IACtD,yBAAyB,CAAC,2CAA2C;AAAA,IACrE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,sCAAsC;AAAA,IACpD,QAAQ,CAAC,mBAAmB;AAAA,IAC5B,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,eAAe,CAAC,mCAAmC;AAAA,IACnD,2BAA2B,CAAC,0CAA0C;AAAA,EACxE;AAAA,EACA,UAAU;AAAA,IACR,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,0CAA0C;AAAA,MACxC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8CAA8C;AAAA,MAC5C;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,YAAY,2CAA2C,EAAE;AAAA,IACvE;AAAA,IACA,6DAA6D;AAAA,MAC3D;AAAA,MACA,CAAC;AAAA,MACD;AAAA,QACE,SAAS;AAAA,UACP;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,yDAAyD;AAAA,MACvD;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,4CAA4C;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,4DAA4D;AAAA,MAC1D;AAAA,IACF;AAAA,IACA,uDAAuD;AAAA,MACrD;AAAA,IACF;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,kCAAkC,CAAC,oBAAoB;AAAA,IACvD,6BAA6B,CAAC,0BAA0B;AAAA,IACxD,qBAAqB,CAAC,gCAAgC;AAAA,IACtD,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2CAA2C;AAAA,MACzC;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,YAAY,CAAC,0CAA0C;AAAA,IACvD,cAAc,CAAC,qCAAqC;AAAA,IACpD,4BAA4B,CAAC,qBAAqB;AAAA,IAClD,cAAc,CAAC,2BAA2B;AAAA,IAC1C,eAAe,CAAC,qCAAqC;AAAA,IACrD,QAAQ,CAAC,+BAA+B;AAAA,IACxC,YAAY,CAAC,0CAA0C;AAAA,IACvD,cAAc,CAAC,sCAAsC;AAAA,IACrD,KAAK,CAAC,4BAA4B;AAAA,IAClC,SAAS,CAAC,uCAAuC;AAAA,IACjD,WAAW,CAAC,mCAAmC;AAAA,IAC/C,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,WAAW,CAAC,yCAAyC;AAAA,IACrD,mBAAmB,CAAC,0CAA0C;AAAA,IAC9D,aAAa,CAAC,oCAAoC;AAAA,IAClD,YAAY,CAAC,0BAA0B;AAAA,IACvC,aAAa,CAAC,oCAAoC;AAAA,IAClD,aAAa,CAAC,gCAAgC;AAAA,IAC9C,UAAU,CAAC,8CAA8C;AAAA,IACzD,YAAY,CAAC,0CAA0C;AAAA,IACvD,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,8BAA8B;AAAA,IACvC,YAAY,CAAC,yCAAyC;AAAA,IACtD,cAAc,CAAC,qCAAqC;AAAA,EACtD;AAAA,EACA,OAAO;AAAA,IACL,eAAe,CAAC,qDAAqD;AAAA,IACrE,QAAQ,CAAC,kCAAkC;AAAA,IAC3C,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,cAAc,CAAC,wDAAwD;AAAA,IACvE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb;AAAA,IACF;AAAA,IACA,KAAK,CAAC,+CAA+C;AAAA,IACrD,WAAW;AAAA,MACT;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uDAAuD;AAAA,IAC1E,MAAM,CAAC,iCAAiC;AAAA,IACxC,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,uDAAuD;AAAA,IACrE,WAAW,CAAC,qDAAqD;AAAA,IACjE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,0CAA0C;AAAA,IACtE,aAAa,CAAC,uDAAuD;AAAA,IACrE,OAAO,CAAC,qDAAqD;AAAA,IAC7D,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,iDAAiD;AAAA,IAC1D,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EACA,WAAW,EAAE,KAAK,CAAC,iBAAiB,EAAE;AAAA,EACtC,WAAW;AAAA,IACT,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,2DAA2D;AAAA,IAC1E,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,kBAAkB;AAAA,MAChB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,sCAAsC,EAAE;AAAA,IAC/D;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,iBAAiB,CAAC,oDAAoD;AAAA,IACtE,wBAAwB;AAAA,MACtB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,6CAA6C;AAAA,IAChE,gBAAgB,CAAC,mDAAmD;AAAA,IACpE,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sCAAsC;AAAA,IACvD,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,2CAA2C;AAAA,IAChE,iBAAiB,CAAC,iCAAiC;AAAA,IACnD,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,uCAAuC;AAAA,IAC7D,4BAA4B,CAAC,kBAAkB;AAAA,IAC/C,YAAY,CAAC,kCAAkC;AAAA,IAC/C,aAAa,CAAC,wBAAwB;AAAA,IACtC,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,2CAA2C;AAAA,IACxE,kBAAkB,CAAC,2BAA2B;AAAA,IAC9C,uBAAuB,CAAC,6CAA6C;AAAA,IACrE,iBAAiB,CAAC,kCAAkC;AAAA,IACpD,eAAe,CAAC,qCAAqC;AAAA,IACrD,mBAAmB,CAAC,qCAAqC;AAAA,IACzD,qBAAqB,CAAC,4CAA4C;AAAA,IAClE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,kCAAkC;AAAA,IAClD,mBAAmB;AAAA,MACjB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,uCAAuC,EAAE;AAAA,IAChE;AAAA,IACA,uCAAuC;AAAA,MACrC;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,8BAA8B;AAAA,IACvC,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,sDAAsD;AAAA,IACvE,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,oDAAoD;AAAA,IAC1E,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,4CAA4C;AAAA,IAC9D,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,YAAY,CAAC,8CAA8C;AAAA,IAC3D,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,0CAA0C;AAAA,IAC7D,iBAAiB,CAAC,oCAAoC;AAAA,IACtD,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,eAAe,CAAC,oDAAoD;AAAA,IACpE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,oDAAoD;AAAA,IACxE,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,eAAe,CAAC,8CAA8C;AAAA,IAC9D,+BAA+B;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wBAAwB,EAAE;AAAA,IACjD;AAAA,IACA,wBAAwB,CAAC,yCAAyC;AAAA,IAClE,wBAAwB,CAAC,yCAAyC;AAAA,IAClE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,sBAAsB;AAAA,MACpB;AAAA,IACF;AAAA,IACA,KAAK,CAAC,2BAA2B;AAAA,IACjC,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,wCAAwC;AAAA,IAC7D,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,kCAAkC;AAAA,IACjD,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mDAAmD;AAAA,IACjE,WAAW,CAAC,6CAA6C;AAAA,IACzD,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,mDAAmD;AAAA,IACpE,WAAW,CAAC,0CAA0C;AAAA,IACtD,uBAAuB,CAAC,gDAAgD;AAAA,IACxE,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,yBAAyB,CAAC,gDAAgD;AAAA,IAC1E,WAAW,CAAC,yCAAyC;AAAA,IACrD,wBAAwB,CAAC,iDAAiD;AAAA,IAC1E,kBAAkB,CAAC,iDAAiD;AAAA,IACpE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,4BAA4B,CAAC,6CAA6C;AAAA,IAC1E,YAAY,CAAC,2CAA2C;AAAA,IACxD,sBAAsB,CAAC,8CAA8C;AAAA,IACrE,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,cAAc,CAAC,yCAAyC;AAAA,IACxD,eAAe,CAAC,uDAAuD;AAAA,IACvE,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,+CAA+C;AAAA,IACrE,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,eAAe,CAAC,uCAAuC;AAAA,IACvD,gBAAgB,CAAC,0BAA0B;AAAA,IAC3C,UAAU,CAAC,iCAAiC;AAAA,IAC5C,eAAe,CAAC,mDAAmD;AAAA,IACnE,qBAAqB,CAAC,wCAAwC;AAAA,IAC9D,uBAAuB,CAAC,+CAA+C;AAAA,IACvE,gCAAgC;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,WAAW,CAAC,kCAAkC;AAAA,IAC9C,sBAAsB,CAAC,wCAAwC;AAAA,IAC/D,YAAY,CAAC,iDAAiD;AAAA,IAC9D,iBAAiB,CAAC,sDAAsD;AAAA,IACxE,iBAAiB,CAAC,+CAA+C;AAAA,IACjE,gBAAgB,CAAC,iDAAiD;AAAA,IAClE,iBAAiB,CAAC,oCAAoC;AAAA,IACtD,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,aAAa,CAAC,iDAAiD;AAAA,IAC/D,iBAAiB,CAAC,qDAAqD;AAAA,IACvE,qCAAqC;AAAA,MACnC;AAAA,IACF;AAAA,IACA,UAAU,CAAC,yCAAyC;AAAA,IACpD,YAAY,CAAC,2CAA2C;AAAA,IACxD,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,oCAAoC;AAAA,IACrD,eAAe,CAAC,qCAAqC;AAAA,IACrD,cAAc,CAAC,oCAAoC;AAAA,IACnD,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,2BAA2B,CAAC,oCAAoC;AAAA,IAChE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,mCAAmC;AAAA,IACjD,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,gCAAgC;AAAA,IACjD,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,0BAA0B,CAAC,iBAAiB;AAAA,IAC5C,YAAY,CAAC,uBAAuB;AAAA,IACpC,aAAa,CAAC,6BAA6B;AAAA,IAC3C,WAAW,CAAC,iCAAiC;AAAA,IAC7C,iBAAiB,CAAC,uCAAuC;AAAA,IACzD,qCAAqC,CAAC,kCAAkC;AAAA,IACxE,eAAe,CAAC,qCAAqC;AAAA,IACrD,iBAAiB,CAAC,wCAAwC;AAAA,IAC1D,YAAY,CAAC,mBAAmB;AAAA,IAChC,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,oCAAoC;AAAA,IACnD,mBAAmB,CAAC,2CAA2C;AAAA,IAC/D,UAAU,CAAC,gCAAgC;AAAA,IAC3C,WAAW,CAAC,iCAAiC;AAAA,IAC7C,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,cAAc,CAAC,iCAAiC;AAAA,IAChD,OAAO,CAAC,mCAAmC;AAAA,IAC3C,eAAe,CAAC,2CAA2C;AAAA,IAC3D,aAAa,CAAC,kDAAkD;AAAA,IAChE,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,cAAc,CAAC,qDAAqD;AAAA,IACpE,kBAAkB,CAAC,kCAAkC;AAAA,IACrD,mBAAmB,CAAC,yCAAyC;AAAA,IAC7D,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,OAAO;AAAA,IACtB;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,WAAW;AAAA,IAC1B;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA,iBAAiB,CAAC,kDAAkD;AAAA,IACpE,UAAU,CAAC,qCAAqC;AAAA,IAChD,QAAQ,CAAC,6BAA6B;AAAA,IACtC,wBAAwB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,qBAAqB,CAAC,mDAAmD;AAAA,IACzE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,iCAAiC,CAAC,iCAAiC;AAAA,IACnE,kBAAkB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,uCAAuC;AAAA,IAC1D,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,eAAe,CAAC,mDAAmD;AAAA,IACnE,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,iDAAiD;AAAA,IACrE,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,6BAA6B,EAAE;AAAA,IACtD;AAAA,IACA,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,eAAe,CAAC,6CAA6C;AAAA,IAC7D,4BAA4B;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA,EAAE,SAAS,6BAA6B;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,MAAM,CAAC,kBAAkB;AAAA,IACzB,SAAS,CAAC,qBAAqB;AAAA,IAC/B,uBAAuB,CAAC,oBAAoB;AAAA,IAC5C,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,OAAO,CAAC,0BAA0B;AAAA,IAClC,QAAQ,CAAC,oBAAoB;AAAA,IAC7B,OAAO,CAAC,mBAAmB;AAAA,EAC7B;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,MACR;AAAA,IACF;AAAA,IACA,yBAAyB;AAAA,MACvB;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,wCAAwC;AAAA,IAC3D,mBAAmB,CAAC,kDAAkD;AAAA,IACtE,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EACA,oBAAoB;AAAA,IAClB,kCAAkC;AAAA,MAChC;AAAA,IACF;AAAA,IACA,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,2BAA2B;AAAA,IAC/C,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,iBAAiB;AAAA,IACxC,6BAA6B,CAAC,qCAAqC;AAAA,IACnE,0BAA0B,CAAC,+CAA+C;AAAA,IAC1E,0BAA0B;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,mCAAmC;AAAA,MACjC;AAAA,IACF;AAAA,IACA,oCAAoC;AAAA,MAClC;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,iCAAiC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,wBAAwB;AAAA,IACjC,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB,CAAC,gDAAgD;AAAA,IACxE,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,sCAAsC;AAAA,IACpD,WAAW,CAAC,mCAAmC;AAAA,IAC/C,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,2BAA2B;AAAA,MACzB;AAAA,IACF;AAAA,IACA,MAAM,CAAC,uBAAuB;AAAA,IAC9B,gBAAgB,CAAC,yCAAyC;AAAA,IAC1D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,sBAAsB,CAAC,+CAA+C;AAAA,IACtE,0BAA0B,CAAC,iBAAiB;AAAA,IAC5C,kBAAkB,CAAC,2CAA2C;AAAA,IAC9D,6BAA6B;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,4CAA4C;AAAA,IAChE,gBAAgB,CAAC,yCAAyC;AAAA,IAC1D,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf;AAAA,IACF;AAAA,IACA,8BAA8B;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,uBAAuB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,aAAa,CAAC,qCAAqC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,IACL,0BAA0B;AAAA,MACxB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,8BAA8B,EAAE;AAAA,IACvD;AAAA,IACA,8BAA8B,CAAC,mBAAmB;AAAA,IAClD,sCAAsC,CAAC,4BAA4B;AAAA,IACnE,OAAO,CAAC,6BAA6B;AAAA,IACrC,cAAc,CAAC,6BAA6B;AAAA,IAC5C,uBAAuB,CAAC,+CAA+C;AAAA,IACvE,sCAAsC,CAAC,gCAAgC;AAAA,IACvE,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,kCAAkC,EAAE;AAAA,IAC3D;AAAA,IACA,kCAAkC,CAAC,qBAAqB;AAAA,IACxD,oCAAoC;AAAA,MAClC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wCAAwC,EAAE;AAAA,IACjE;AAAA,IACA,wCAAwC,CAAC,iBAAiB;AAAA,IAC1D,yCAAyC,CAAC,6BAA6B;AAAA,IACvE,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,qBAAqB;AAAA,IACvD,8BAA8B;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,kCAAkC,EAAE;AAAA,IAC3D;AAAA,IACA,kCAAkC,CAAC,oCAAoC;AAAA,IACvE,oCAAoC;AAAA,MAClC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,wCAAwC,EAAE;AAAA,IACjE;AAAA,IACA,wCAAwC,CAAC,4BAA4B;AAAA,IACrE,yCAAyC,CAAC,8BAA8B;AAAA,IACxE,yCAAyC;AAAA,MACvC;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,gCAAgC;AAAA,IACzC,kBAAkB,CAAC,WAAW;AAAA,IAC9B,eAAe,CAAC,uBAAuB;AAAA,IACvC,mBAAmB,CAAC,iCAAiC;AAAA,IACrD,2BAA2B;AAAA,MACzB;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,+BAA+B,EAAE;AAAA,IACxD;AAAA,IACA,+BAA+B,CAAC,iCAAiC;AAAA,IACjE,iCAAiC;AAAA,MAC/B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,qCAAqC,EAAE;AAAA,IAC9D;AAAA,IACA,qCAAqC,CAAC,yBAAyB;AAAA,IAC/D,sCAAsC;AAAA,MACpC;AAAA,IACF;AAAA,IACA,MAAM,CAAC,YAAY;AAAA,IACnB,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,gCAAgC,EAAE;AAAA,IACzD;AAAA,IACA,gCAAgC,CAAC,kBAAkB;AAAA,IACnD,4BAA4B;AAAA,MAC1B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,gCAAgC,EAAE;AAAA,IACzD;AAAA,IACA,gCAAgC,CAAC,kBAAkB;AAAA,IACnD,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,qBAAqB;AAAA,IACvD,mCAAmC,CAAC,qBAAqB;AAAA,IACzD,sBAAsB,CAAC,iCAAiC;AAAA,IACxD,sBAAsB,CAAC,iCAAiC;AAAA,IACxD,6BAA6B;AAAA,MAC3B;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,iCAAiC,EAAE;AAAA,IAC1D;AAAA,IACA,iCAAiC,CAAC,oBAAoB;AAAA,IACtD,oBAAoB,CAAC,gCAAgC;AAAA,IACrD,kCAAkC;AAAA,MAChC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,sCAAsC,EAAE;AAAA,IAC/D;AAAA,IACA,sCAAsC,CAAC,yBAAyB;AAAA,IAChE,uBAAuB,CAAC,4BAA4B;AAAA,IACpD,mCAAmC;AAAA,MACjC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,uCAAuC,EAAE;AAAA,IAChE;AAAA,IACA,uCAAuC,CAAC,gBAAgB;AAAA,IACxD,wCAAwC,CAAC,2BAA2B;AAAA,IACpE,2BAA2B,CAAC,uCAAuC;AAAA,IACnE,wCAAwC,CAAC,4BAA4B;AAAA,IACrE,2BAA2B,CAAC,wCAAwC;AAAA,IACpE,2CAA2C;AAAA,MACzC;AAAA,MACA,CAAC;AAAA,MACD,EAAE,SAAS,CAAC,SAAS,+CAA+C,EAAE;AAAA,IACxE;AAAA,IACA,+CAA+C;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,SAAS,CAAC,gCAAgC;AAAA,IAC1C,UAAU,CAAC,mCAAmC;AAAA,IAC9C,qBAAqB,CAAC,aAAa;AAAA,EACrC;AACF;AACA,IAAI,oBAAoB;;;AC5zDxB,IAAM,qBAAqC,oBAAI,IAAI;AACnD,WAAW,CAAC,OAAO,SAAS,KAAK,OAAO,QAAQ,iBAAS,GAAG;AAC1D,aAAW,CAAC,YAAY,QAAQ,KAAK,OAAO,QAAQ,SAAS,GAAG;AAC9D,UAAM,CAAC,OAAO,UAAU,WAAW,IAAI;AACvC,UAAM,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACrC,UAAM,mBAAmB,OAAO;AAAA,MAC9B;AAAA,QACE;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,QAAI,CAAC,mBAAmB,IAAI,KAAK,GAAG;AAClC,yBAAmB,IAAI,OAAuB,oBAAI,IAAI,CAAC;AAAA,IACzD;AACA,uBAAmB,IAAI,KAAK,EAAE,IAAI,YAAY;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;AACA,IAAM,UAAU;AAAA,EACd,IAAI,EAAE,MAAM,GAAG,YAAY;AACzB,WAAO,mBAAmB,IAAI,KAAK,EAAE,IAAI,UAAU;AAAA,EACrD;AAAA,EACA,yBAAyB,QAAQ,YAAY;AAC3C,WAAO;AAAA,MACL,OAAO,KAAK,IAAI,QAAQ,UAAU;AAAA;AAAA,MAElC,cAAc;AAAA,MACd,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,eAAe,QAAQ,YAAY,YAAY;AAC7C,WAAO,eAAe,OAAO,OAAO,YAAY,UAAU;AAC1D,WAAO;AAAA,EACT;AAAA,EACA,eAAe,QAAQ,YAAY;AACjC,WAAO,OAAO,MAAM,UAAU;AAC9B,WAAO;AAAA,EACT;AAAA,EACA,QAAQ,EAAE,MAAM,GAAG;AACjB,WAAO,CAAC,GAAG,mBAAmB,IAAI,KAAK,EAAE,KAAK,CAAC;AAAA,EACjD;AAAA,EACA,IAAI,QAAQ,YAAY,OAAO;AAC7B,WAAO,OAAO,MAAM,UAAU,IAAI;AAAA,EACpC;AAAA,EACA,IAAI,EAAE,SAAS,OAAO,MAAM,GAAG,YAAY;AACzC,QAAI,MAAM,UAAU,GAAG;AACrB,aAAO,MAAM,UAAU;AAAA,IACzB;AACA,UAAM,SAAS,mBAAmB,IAAI,KAAK,EAAE,IAAI,UAAU;AAC3D,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA,IACT;AACA,UAAM,EAAE,kBAAkB,YAAY,IAAI;AAC1C,QAAI,aAAa;AACf,YAAM,UAAU,IAAI;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,OAAO;AACL,YAAM,UAAU,IAAI,QAAQ,QAAQ,SAAS,gBAAgB;AAAA,IAC/D;AACA,WAAO,MAAM,UAAU;AAAA,EACzB;AACF;AACA,SAAS,mBAAmB,SAAS;AACnC,QAAM,aAAa,CAAC;AACpB,aAAW,SAAS,mBAAmB,KAAK,GAAG;AAC7C,eAAW,KAAK,IAAI,IAAI,MAAM,EAAE,SAAS,OAAO,OAAO,CAAC,EAAE,GAAG,OAAO;AAAA,EACtE;AACA,SAAO;AACT;AACA,SAAS,SAAS,SAAS,OAAO,YAAY,UAAU,aAAa;AACnE,QAAM,sBAAsB,QAAQ,QAAQ,SAAS,QAAQ;AAC7D,WAAS,mBAAmB,MAAM;AAChC,QAAI,UAAU,oBAAoB,SAAS,MAAM,GAAG,IAAI;AACxD,QAAI,YAAY,WAAW;AACzB,gBAAU,OAAO,OAAO,CAAC,GAAG,SAAS;AAAA,QACnC,MAAM,QAAQ,YAAY,SAAS;AAAA,QACnC,CAAC,YAAY,SAAS,GAAG;AAAA,MAC3B,CAAC;AACD,aAAO,oBAAoB,OAAO;AAAA,IACpC;AACA,QAAI,YAAY,SAAS;AACvB,YAAM,CAAC,UAAU,aAAa,IAAI,YAAY;AAC9C,cAAQ,IAAI;AAAA,QACV,WAAW,KAAK,IAAI,UAAU,kCAAkC,QAAQ,IAAI,aAAa;AAAA,MAC3F;AAAA,IACF;AACA,QAAI,YAAY,YAAY;AAC1B,cAAQ,IAAI,KAAK,YAAY,UAAU;AAAA,IACzC;AACA,QAAI,YAAY,mBAAmB;AACjC,YAAM,WAAW,oBAAoB,SAAS,MAAM,GAAG,IAAI;AAC3D,iBAAW,CAAC,MAAM,KAAK,KAAK,OAAO;AAAA,QACjC,YAAY;AAAA,MACd,GAAG;AACD,YAAI,QAAQ,UAAU;AACpB,kBAAQ,IAAI;AAAA,YACV,IAAI,IAAI,0CAA0C,KAAK,IAAI,UAAU,aAAa,KAAK;AAAA,UACzF;AACA,cAAI,EAAE,SAAS,WAAW;AACxB,qBAAS,KAAK,IAAI,SAAS,IAAI;AAAA,UACjC;AACA,iBAAO,SAAS,IAAI;AAAA,QACtB;AAAA,MACF;AACA,aAAO,oBAAoB,QAAQ;AAAA,IACrC;AACA,WAAO,oBAAoB,GAAG,IAAI;AAAA,EACpC;AACA,SAAO,OAAO,OAAO,iBAAiB,mBAAmB;AAC3D;;;ACvHA,SAAS,oBAAoB,SAAS;AACpC,QAAM,MAAM,mBAAmB,OAAO;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;AACA,oBAAoB,UAAU;AAC9B,SAAS,0BAA0B,SAAS;AAC1C,QAAM,MAAM,mBAAmB,OAAO;AACtC,SAAO;AAAA,IACL,GAAG;AAAA,IACH,MAAM;AAAA,EACR;AACF;AACA,0BAA0B,UAAU;", - "names": [] -} diff --git a/node_modules/@octokit/plugin-rest-endpoint-methods/package.json b/node_modules/@octokit/plugin-rest-endpoint-methods/package.json deleted file mode 100644 index 70ff1f6..0000000 --- a/node_modules/@octokit/plugin-rest-endpoint-methods/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "@octokit/plugin-rest-endpoint-methods", - "version": "10.0.1", - "description": "Octokit plugin adding one method for all of api.github.com REST API endpoints", - "repository": "github:octokit/plugin-rest-endpoint-methods.js", - "keywords": [ - "github", - "api", - "sdk", - "toolkit" - ], - "author": "Gregor Martynus (https://twitter.com/gr2m)", - "license": "MIT", - "dependencies": { - "@octokit/types": "^12.0.0" - }, - "devDependencies": { - "@octokit/core": "^5.0.0", - "@octokit/tsconfig": "^2.0.0", - "@types/fetch-mock": "^7.3.1", - "@types/jest": "^29.0.0", - "@types/node": "^18.0.0", - "@types/sinon": "^10.0.19", - "esbuild": "^0.19.0", - "fetch-mock": "npm:@gr2m/fetch-mock@^9.11.0-pull-request-644.1", - "github-openapi-graphql-query": "^4.0.0", - "glob": "^10.2.6", - "jest": "^29.0.0", - "lodash.camelcase": "^4.3.0", - "lodash.set": "^4.3.2", - "lodash.upperfirst": "^4.3.1", - "mustache": "^4.0.0", - "npm-run-all": "^4.1.5", - "prettier": "3.0.3", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "sinon": "^16.1.0", - "sort-keys": "^5.0.0", - "string-to-jsdoc-comment": "^1.0.0", - "ts-jest": "^29.0.0", - "typescript": "^5.0.0" - }, - "peerDependencies": { - "@octokit/core": ">=5" - }, - "publishConfig": { - "access": "public" - }, - "engines": { - "node": ">= 18" - }, - "files": [ - "dist-*/**", - "bin/**" - ], - "main": "dist-node/index.js", - "browser": "dist-web/index.js", - "types": "dist-types/index.d.ts", - "module": "dist-src/index.js", - "sideEffects": false -} diff --git a/node_modules/@octokit/request-error/LICENSE b/node_modules/@octokit/request-error/LICENSE deleted file mode 100644 index ef2c18e..0000000 --- a/node_modules/@octokit/request-error/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/request-error/README.md b/node_modules/@octokit/request-error/README.md deleted file mode 100644 index cdd3695..0000000 --- a/node_modules/@octokit/request-error/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# http-error.js - -> Error class for Octokit request errors - -[![@latest](https://img.shields.io/npm/v/@octokit/request-error.svg)](https://www.npmjs.com/package/@octokit/request-error) -[![Build Status](https://github.com/octokit/request-error.js/workflows/Test/badge.svg)](https://github.com/octokit/request-error.js/actions?query=workflow%3ATest) - -## Usage - - - - - - -
-Browsers - -Load @octokit/request-error directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/request-error - -```js -const { RequestError } = require("@octokit/request-error"); -// or: import { RequestError } from "@octokit/request-error"; -``` - -
- -```js -const error = new RequestError("Oops", 500, { - request: { - method: "POST", - url: "https://api.github.com/foo", - body: { - bar: "baz", - }, - headers: { - authorization: "token secret123", - }, - }, - response: { - status: 500, - url: "https://api.github.com/foo", - headers: { - "x-github-request-id": "1:2:3:4", - }, - data: { - foo: "bar", - }, - }, -}); - -error.message; // Oops -error.status; // 500 -error.request; // { method, url, headers, body } -error.response; // { url, status, headers, data } -``` - -### Usage with Octokit - -```js -try { - // your code here that sends at least one Octokit request - await octokit.request("GET /"); -} catch (error) { - // Octokit errors always have a `error.status` property which is the http response code - if (error.status) { - // handle Octokit error - } else { - // handle all other errors - throw error; - } -} -``` - -## LICENSE - -[MIT](LICENSE) diff --git a/node_modules/@octokit/request-error/dist-node/index.js b/node_modules/@octokit/request-error/dist-node/index.js deleted file mode 100644 index ad4bc5f..0000000 --- a/node_modules/@octokit/request-error/dist-node/index.js +++ /dev/null @@ -1,92 +0,0 @@ -"use strict"; -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - RequestError: () => RequestError -}); -module.exports = __toCommonJS(dist_src_exports); -var import_deprecation = require("deprecation"); -var import_once = __toESM(require("once")); -var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation)); -var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation)); -var RequestError = class extends Error { - constructor(message, statusCode, options) { - super(message); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = "HttpError"; - this.status = statusCode; - let headers; - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; - } - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - / .*$/, - " [REDACTED]" - ) - }); - } - requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; - Object.defineProperty(this, "code", { - get() { - logOnceCode( - new import_deprecation.Deprecation( - "[@octokit/request-error] `error.code` is deprecated, use `error.status`." - ) - ); - return statusCode; - } - }); - Object.defineProperty(this, "headers", { - get() { - logOnceHeaders( - new import_deprecation.Deprecation( - "[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`." - ) - ); - return headers || {}; - } - }); - } -}; -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - RequestError -}); diff --git a/node_modules/@octokit/request-error/dist-node/index.js.map b/node_modules/@octokit/request-error/dist-node/index.js.map deleted file mode 100644 index 3b7e6fe..0000000 --- a/node_modules/@octokit/request-error/dist-node/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js"], - "sourcesContent": ["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\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 \" [REDACTED]\"\n )\n });\n }\n requestCopy.url = requestCopy.url.replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\").replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(\n new Deprecation(\n \"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"\n )\n );\n return statusCode;\n }\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(\n new Deprecation(\n \"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"\n )\n );\n return headers || {};\n }\n });\n }\n}\nexport {\n RequestError\n};\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA4B;AAC5B,kBAAiB;AACjB,IAAM,kBAAc,YAAAA,SAAK,CAAC,gBAAgB,QAAQ,KAAK,WAAW,CAAC;AACnE,IAAM,qBAAiB,YAAAA,SAAK,CAAC,gBAAgB,QAAQ,KAAK,WAAW,CAAC;AACtE,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC/B,YAAY,SAAS,YAAY,SAAS;AACxC,UAAM,OAAO;AACb,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,IAChD;AACA,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,QAAI;AACJ,QAAI,aAAa,WAAW,OAAO,QAAQ,YAAY,aAAa;AAClE,gBAAU,QAAQ;AAAA,IACpB;AACA,QAAI,cAAc,SAAS;AACzB,WAAK,WAAW,QAAQ;AACxB,gBAAU,QAAQ,SAAS;AAAA,IAC7B;AACA,UAAM,cAAc,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO;AACrD,QAAI,QAAQ,QAAQ,QAAQ,eAAe;AACzC,kBAAY,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,QAAQ,SAAS;AAAA,QAC/D,eAAe,QAAQ,QAAQ,QAAQ,cAAc;AAAA,UACnD;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AACA,gBAAY,MAAM,YAAY,IAAI,QAAQ,wBAAwB,0BAA0B,EAAE,QAAQ,uBAAuB,yBAAyB;AACtJ,SAAK,UAAU;AACf,WAAO,eAAe,MAAM,QAAQ;AAAA,MAClC,MAAM;AACJ;AAAA,UACE,IAAI;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,WAAO,eAAe,MAAM,WAAW;AAAA,MACrC,MAAM;AACJ;AAAA,UACE,IAAI;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,eAAO,WAAW,CAAC;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AACF;", - "names": ["once"] -} diff --git a/node_modules/@octokit/request-error/dist-src/index.js b/node_modules/@octokit/request-error/dist-src/index.js deleted file mode 100644 index 36f10b5..0000000 --- a/node_modules/@octokit/request-error/dist-src/index.js +++ /dev/null @@ -1,56 +0,0 @@ -import { Deprecation } from "deprecation"; -import once from "once"; -const logOnceCode = once((deprecation) => console.warn(deprecation)); -const logOnceHeaders = once((deprecation) => console.warn(deprecation)); -class RequestError extends Error { - constructor(message, statusCode, options) { - super(message); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = "HttpError"; - this.status = statusCode; - let headers; - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; - } - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - / .*$/, - " [REDACTED]" - ) - }); - } - requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; - Object.defineProperty(this, "code", { - get() { - logOnceCode( - new Deprecation( - "[@octokit/request-error] `error.code` is deprecated, use `error.status`." - ) - ); - return statusCode; - } - }); - Object.defineProperty(this, "headers", { - get() { - logOnceHeaders( - new Deprecation( - "[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`." - ) - ); - return headers || {}; - } - }); - } -} -export { - RequestError -}; diff --git a/node_modules/@octokit/request-error/dist-types/index.d.ts b/node_modules/@octokit/request-error/dist-types/index.d.ts deleted file mode 100644 index b91d08a..0000000 --- a/node_modules/@octokit/request-error/dist-types/index.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import type { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; -import type { RequestErrorOptions } from "./types"; -/** - * Error with extra properties to help with debugging - */ -export declare class RequestError extends Error { - name: "HttpError"; - /** - * http status code - */ - status: number; - /** - * http status code - * - * @deprecated `error.code` is deprecated in favor of `error.status` - */ - code: number; - /** - * Request options that lead to the error. - */ - request: RequestOptions; - /** - * error response headers - * - * @deprecated `error.headers` is deprecated in favor of `error.response.headers` - */ - headers: ResponseHeaders; - /** - * Response object if a response was received - */ - response?: OctokitResponse; - constructor(message: string, statusCode: number, options: RequestErrorOptions); -} diff --git a/node_modules/@octokit/request-error/dist-types/types.d.ts b/node_modules/@octokit/request-error/dist-types/types.d.ts deleted file mode 100644 index 4d084aa..0000000 --- a/node_modules/@octokit/request-error/dist-types/types.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { RequestOptions, ResponseHeaders, OctokitResponse } from "@octokit/types"; -export type RequestErrorOptions = { - /** @deprecated set `response` instead */ - headers?: ResponseHeaders; - request: RequestOptions; -} | { - response: OctokitResponse; - request: RequestOptions; -}; diff --git a/node_modules/@octokit/request-error/dist-web/index.js b/node_modules/@octokit/request-error/dist-web/index.js deleted file mode 100644 index 8ddf132..0000000 --- a/node_modules/@octokit/request-error/dist-web/index.js +++ /dev/null @@ -1,57 +0,0 @@ -// pkg/dist-src/index.js -import { Deprecation } from "deprecation"; -import once from "once"; -var logOnceCode = once((deprecation) => console.warn(deprecation)); -var logOnceHeaders = once((deprecation) => console.warn(deprecation)); -var RequestError = class extends Error { - constructor(message, statusCode, options) { - super(message); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } - this.name = "HttpError"; - this.status = statusCode; - let headers; - if ("headers" in options && typeof options.headers !== "undefined") { - headers = options.headers; - } - if ("response" in options) { - this.response = options.response; - headers = options.response.headers; - } - const requestCopy = Object.assign({}, options.request); - if (options.request.headers.authorization) { - requestCopy.headers = Object.assign({}, options.request.headers, { - authorization: options.request.headers.authorization.replace( - / .*$/, - " [REDACTED]" - ) - }); - } - requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); - this.request = requestCopy; - Object.defineProperty(this, "code", { - get() { - logOnceCode( - new Deprecation( - "[@octokit/request-error] `error.code` is deprecated, use `error.status`." - ) - ); - return statusCode; - } - }); - Object.defineProperty(this, "headers", { - get() { - logOnceHeaders( - new Deprecation( - "[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`." - ) - ); - return headers || {}; - } - }); - } -}; -export { - RequestError -}; diff --git a/node_modules/@octokit/request-error/dist-web/index.js.map b/node_modules/@octokit/request-error/dist-web/index.js.map deleted file mode 100644 index b6d41bf..0000000 --- a/node_modules/@octokit/request-error/dist-web/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js"], - "sourcesContent": ["import { Deprecation } from \"deprecation\";\nimport once from \"once\";\nconst logOnceCode = once((deprecation) => console.warn(deprecation));\nconst logOnceHeaders = once((deprecation) => console.warn(deprecation));\nclass RequestError extends Error {\n constructor(message, statusCode, options) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = \"HttpError\";\n this.status = statusCode;\n let headers;\n if (\"headers\" in options && typeof options.headers !== \"undefined\") {\n headers = options.headers;\n }\n if (\"response\" in options) {\n this.response = options.response;\n headers = options.response.headers;\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 \" [REDACTED]\"\n )\n });\n }\n requestCopy.url = requestCopy.url.replace(/\\bclient_secret=\\w+/g, \"client_secret=[REDACTED]\").replace(/\\baccess_token=\\w+/g, \"access_token=[REDACTED]\");\n this.request = requestCopy;\n Object.defineProperty(this, \"code\", {\n get() {\n logOnceCode(\n new Deprecation(\n \"[@octokit/request-error] `error.code` is deprecated, use `error.status`.\"\n )\n );\n return statusCode;\n }\n });\n Object.defineProperty(this, \"headers\", {\n get() {\n logOnceHeaders(\n new Deprecation(\n \"[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.\"\n )\n );\n return headers || {};\n }\n });\n }\n}\nexport {\n RequestError\n};\n"], - "mappings": ";AAAA,SAAS,mBAAmB;AAC5B,OAAO,UAAU;AACjB,IAAM,cAAc,KAAK,CAAC,gBAAgB,QAAQ,KAAK,WAAW,CAAC;AACnE,IAAM,iBAAiB,KAAK,CAAC,gBAAgB,QAAQ,KAAK,WAAW,CAAC;AACtE,IAAM,eAAN,cAA2B,MAAM;AAAA,EAC/B,YAAY,SAAS,YAAY,SAAS;AACxC,UAAM,OAAO;AACb,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,IAChD;AACA,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,QAAI;AACJ,QAAI,aAAa,WAAW,OAAO,QAAQ,YAAY,aAAa;AAClE,gBAAU,QAAQ;AAAA,IACpB;AACA,QAAI,cAAc,SAAS;AACzB,WAAK,WAAW,QAAQ;AACxB,gBAAU,QAAQ,SAAS;AAAA,IAC7B;AACA,UAAM,cAAc,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO;AACrD,QAAI,QAAQ,QAAQ,QAAQ,eAAe;AACzC,kBAAY,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,QAAQ,SAAS;AAAA,QAC/D,eAAe,QAAQ,QAAQ,QAAQ,cAAc;AAAA,UACnD;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AACA,gBAAY,MAAM,YAAY,IAAI,QAAQ,wBAAwB,0BAA0B,EAAE,QAAQ,uBAAuB,yBAAyB;AACtJ,SAAK,UAAU;AACf,WAAO,eAAe,MAAM,QAAQ;AAAA,MAClC,MAAM;AACJ;AAAA,UACE,IAAI;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,WAAO,eAAe,MAAM,WAAW;AAAA,MACrC,MAAM;AACJ;AAAA,UACE,IAAI;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,eAAO,WAAW,CAAC;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AACF;", - "names": [] -} diff --git a/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/request-error/package.json deleted file mode 100644 index c5c6af8..0000000 --- a/node_modules/@octokit/request-error/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "@octokit/request-error", - "version": "5.0.1", - "publishConfig": { - "access": "public" - }, - "description": "Error class for Octokit request errors", - "repository": "github:octokit/request-error.js", - "keywords": [ - "octokit", - "github", - "api", - "error" - ], - "author": "Gregor Martynus (https://github.com/gr2m)", - "license": "MIT", - "dependencies": { - "@octokit/types": "^12.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, - "devDependencies": { - "@octokit/tsconfig": "^2.0.0", - "@types/jest": "^29.0.0", - "@types/node": "^18.0.0", - "@types/once": "^1.4.0", - "esbuild": "^0.19.0", - "glob": "^10.2.6", - "jest": "^29.0.0", - "prettier": "3.0.3", - "ts-jest": "^29.0.0", - "typescript": "^5.0.0" - }, - "engines": { - "node": ">= 18" - }, - "files": [ - "dist-*/**", - "bin/**" - ], - "main": "dist-node/index.js", - "browser": "dist-web/index.js", - "types": "dist-types/index.d.ts", - "module": "dist-src/index.js", - "sideEffects": false, - "unpkg": "dist-web/index.js" -} diff --git a/node_modules/@octokit/request/LICENSE b/node_modules/@octokit/request/LICENSE deleted file mode 100644 index af5366d..0000000 --- a/node_modules/@octokit/request/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2018 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/@octokit/request/README.md b/node_modules/@octokit/request/README.md deleted file mode 100644 index ce321cf..0000000 --- a/node_modules/@octokit/request/README.md +++ /dev/null @@ -1,579 +0,0 @@ -# request.js - -> Send parameterized requests to GitHub’s APIs with sensible defaults in browsers and Node - -[![@latest](https://img.shields.io/npm/v/@octokit/request.svg)](https://www.npmjs.com/package/@octokit/request) -[![Build Status](https://github.com/octokit/request.js/workflows/Test/badge.svg)](https://github.com/octokit/request.js/actions?query=workflow%3ATest+branch%3Amain) - -`@octokit/request` is a request library for browsers & node that makes it easier -to interact with [GitHub’s REST API](https://developer.github.com/v3/) and -[GitHub’s GraphQL API](https://developer.github.com/v4/guides/forming-calls/#the-graphql-endpoint). - -It uses [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) to parse -the passed options and sends the request using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). You can pass a custom `fetch` function using the `options.request.fetch` option, see below. - - - - - -- [request.js](#requestjs) - - [Features](#features) - - [Usage](#usage) - - [REST API example](#rest-api-example) - - [GraphQL example](#graphql-example) - - [Alternative: pass `method` \& `url` as part of options](#alternative-pass-method--url-as-part-of-options) - - [Authentication](#authentication) - - [request()](#request) - - [`request.defaults()`](#requestdefaults) - - [`request.endpoint`](#requestendpoint) - - [Special cases](#special-cases) - - [The `data` parameter – set request body directly](#the-data-parameter--set-request-body-directly) - - [Set parameters for both the URL/query and the request body](#set-parameters-for-both-the-urlquery-and-the-request-body) - - [Set a custom Agent to your requests](#set-a-custom-agent-to-your-requests) - - [LICENSE](#license) - - - -## Features - -🤩 1:1 mapping of REST API endpoint documentation, e.g. [Add labels to an issue](https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue) becomes - -```js -request("POST /repos/{owner}/{repo}/issues/{number}/labels", { - mediaType: { - previews: ["symmetra"], - }, - owner: "octokit", - repo: "request.js", - number: 1, - labels: ["🛠bug"], -}); -``` - -👶 [Small bundle size](https://bundlephobia.com/result?p=@octokit/request@5.0.3) (\<4kb minified + gzipped) - -😎 [Authenticate](#authentication) with any of [GitHubs Authentication Strategies](https://github.com/octokit/auth.js). - -👠Sensible defaults - -- `baseUrl`: `https://api.github.com` -- `headers.accept`: `application/vnd.github.v3+json` -- `headers['user-agent']`: `octokit-request.js/ `, e.g. `octokit-request.js/1.2.3 Node.js/10.15.0 (macOS Mojave; x64)` - -👌 Simple to test: mock requests by passing a custom fetch method. - -🧠Simple to debug: Sets `error.request` to request options causing the error (with redacted credentials). - -## Usage - - - - - - -
-Browsers - -Load @octokit/request directly from esm.sh - -```html - -``` - -
-Node - - -Install with npm install @octokit/request - -```js -const { request } = require("@octokit/request"); -// or: import { request } from "@octokit/request"; -``` - -
- -### REST API example - -```js -// Following GitHub docs formatting: -// https://developer.github.com/v3/repos/#list-organization-repositories -const result = await request("GET /orgs/{org}/repos", { - headers: { - authorization: "token 0000000000000000000000000000000000000001", - }, - org: "octokit", - type: "private", -}); - -console.log(`${result.data.length} repos found.`); -``` - -### GraphQL example - -For GraphQL request we recommend using [`@octokit/graphql`](https://github.com/octokit/graphql.js#readme) - -```js -const result = await request("POST /graphql", { - headers: { - authorization: "token 0000000000000000000000000000000000000001", - }, - query: `query ($login: String!) { - organization(login: $login) { - repositories(privacy: PRIVATE) { - totalCount - } - } - }`, - variables: { - login: "octokit", - }, -}); -``` - -### Alternative: pass `method` & `url` as part of options - -Alternatively, pass in a method and a url - -```js -const result = await request({ - method: "GET", - url: "/orgs/{org}/repos", - headers: { - authorization: "token 0000000000000000000000000000000000000001", - }, - org: "octokit", - type: "private", -}); -``` - -## Authentication - -The simplest way to authenticate a request is to set the `Authorization` header directly, e.g. to a [personal access token](https://github.com/settings/tokens/). - -```js -const requestWithAuth = request.defaults({ - headers: { - authorization: "token 0000000000000000000000000000000000000001", - }, -}); -const result = await requestWithAuth("GET /user"); -``` - -For more complex authentication strategies such as GitHub Apps or Basic, we recommend the according authentication library exported by [`@octokit/auth`](https://github.com/octokit/auth.js). - -```js -const { createAppAuth } = require("@octokit/auth-app"); -const auth = createAppAuth({ - appId: process.env.APP_ID, - privateKey: process.env.PRIVATE_KEY, - installationId: 123, -}); -const requestWithAuth = request.defaults({ - request: { - hook: auth.hook, - }, - mediaType: { - previews: ["machine-man"], - }, -}); - -const { data: app } = await requestWithAuth("GET /app"); -const { data: app } = await requestWithAuth( - "POST /repos/{owner}/{repo}/issues", - { - owner: "octocat", - repo: "hello-world", - title: "Hello from the engine room", - }, -); -``` - -## request() - -`request(route, options)` or `request(options)`. - -**Options** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- name - - type - - description -
- route - - String - - **Required**. If route is set it has to be a string consisting of the request method and URL, e.g. GET /orgs/{org} -
- options.baseUrl - - String - - The base URL that route or url will be prefixed with, if they use relative paths. Defaults to https://api.github.com. -
- options.headers - - Object - - Custom headers. Passed headers are merged with defaults:
- headers['user-agent'] defaults to octokit-rest.js/1.2.3 (where 1.2.3 is the released version).
- headers['accept'] defaults to application/vnd.github.v3+json.
Use options.mediaType.{format,previews} to request API previews and custom media types. -
- options.method - - String - - Any supported http verb, case insensitive. Defaults to Get. -
- options.mediaType.format - - String - - Media type param, such as `raw`, `html`, or `full`. See Media Types. -
- options.mediaType.previews - - Array of strings - - Name of previews, such as `mercy`, `symmetra`, or `scarlet-witch`. See GraphQL Schema Previews. - Note that these only apply to GraphQL requests and have no effect on REST routes. -
- options.url - - String - - **Required**. A path or full URL which may contain :variable or {variable} placeholders, - e.g. /orgs/{org}/repos. The url is parsed using url-template. -
- options.data - - Any - - Set request body directly instead of setting it to JSON based on additional parameters. See "The `data` parameter" below. -
- options.request.fetch - - Function - - Custom replacement for fetch. Useful for testing or request hooks. -
- options.request.hook - - Function - - Function with the signature hook(request, endpointOptions), where endpointOptions are the parsed options as returned by endpoint.merge(), and request is request(). This option works great in conjuction with before-after-hook. -
- options.request.signal - - new AbortController().signal - - Use an AbortController instance to cancel a request. In node you can only cancel streamed requests. -
- options.request.log - - object - - Used for internal logging. Defaults to console. -
- options.request.parseSuccessResponseBody - - boolean - - If set to false the returned `response` will be passed through from `fetch`. This is useful to stream response.body when downloading files from the GitHub API. -
- -All other options except `options.request.*` will be passed depending on the `method` and `url` options. - -1. If the option key is a placeholder in the `url`, it will be used as replacement. For example, if the passed options are `{url: '/orgs/{org}/repos', org: 'foo'}` the returned `options.url` is `https://api.github.com/orgs/foo/repos` -2. If the `method` is `GET` or `HEAD`, the option is passed as query parameter -3. Otherwise the parameter is passed in the request body as JSON key. - -**Result** - -`request` returns a promise. If the request was successful, the promise resolves with an object containing 4 keys: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- key - - type - - description -
statusIntegerResponse status status
urlStringURL of response. If a request results in redirects, this is the final URL. You can send a HEAD request to retrieve it without loading the full response body.
headersObjectAll response headers
dataAnyThe response body as returned from server. If the response is JSON then it will be parsed into an object
- -If an error occurs, the promise is rejected with an `error` object containing 3 keys to help with debugging: - -- `error.status` The http response status code -- `error.request` The request options such as `method`, `url` and `data` -- `error.response` The http response object with `url`, `headers`, and `data` - -If the error is due to an `AbortSignal` being used, the resulting `AbortError` is bubbled up to the caller. - -## `request.defaults()` - -Override or set default options. Example: - -```js -const myrequest = require("@octokit/request").defaults({ - baseUrl: "https://github-enterprise.acme-inc.com/api/v3", - headers: { - "user-agent": "myApp/1.2.3", - authorization: `token 0000000000000000000000000000000000000001`, - }, - org: "my-project", - per_page: 100, -}); - -myrequest(`GET /orgs/{org}/repos`); -``` - -You can call `.defaults()` again on the returned method, the defaults will cascade. - -```js -const myProjectRequest = request.defaults({ - baseUrl: "https://github-enterprise.acme-inc.com/api/v3", - headers: { - "user-agent": "myApp/1.2.3", - }, - org: "my-project", -}); -const myProjectRequestWithAuth = myProjectRequest.defaults({ - headers: { - authorization: `token 0000000000000000000000000000000000000001`, - }, -}); -``` - -`myProjectRequest` now defaults the `baseUrl`, `headers['user-agent']`, -`org` and `headers['authorization']` on top of `headers['accept']` that is set -by the global default. - -## `request.endpoint` - -See https://github.com/octokit/endpoint.js. Example - -```js -const options = request.endpoint("GET /orgs/{org}/repos", { - org: "my-project", - type: "private", -}); - -// { -// method: 'GET', -// url: 'https://api.github.com/orgs/my-project/repos?type=private', -// headers: { -// accept: 'application/vnd.github.v3+json', -// authorization: 'token 0000000000000000000000000000000000000001', -// 'user-agent': 'octokit/endpoint.js v1.2.3' -// } -// } -``` - -All of the [`@octokit/endpoint`](https://github.com/octokit/endpoint.js) API can be used: - -- [`octokitRequest.endpoint()`](#endpoint) -- [`octokitRequest.endpoint.defaults()`](#endpointdefaults) -- [`octokitRequest.endpoint.merge()`](#endpointdefaults) -- [`octokitRequest.endpoint.parse()`](#endpointmerge) - -## Special cases - - - -### The `data` parameter – set request body directly - -Some endpoints such as [Render a Markdown document in raw mode](https://developer.github.com/v3/markdown/#render-a-markdown-document-in-raw-mode) don’t have parameters that are sent as request body keys, instead the request body needs to be set directly. In these cases, set the `data` parameter. - -```js -const response = await request("POST /markdown/raw", { - data: "Hello world github/linguist#1 **cool**, and #1!", - headers: { - accept: "text/html;charset=utf-8", - "content-type": "text/plain", - }, -}); - -// Request is sent as -// -// { -// method: 'post', -// url: 'https://api.github.com/markdown/raw', -// headers: { -// accept: 'text/html;charset=utf-8', -// 'content-type': 'text/plain', -// 'user-agent': userAgent -// }, -// body: 'Hello world github/linguist#1 **cool**, and #1!' -// } -// -// not as -// -// { -// ... -// body: '{"data": "Hello world github/linguist#1 **cool**, and #1!"}' -// } -``` - -### Set parameters for both the URL/query and the request body - -There are API endpoints that accept both query parameters as well as a body. In that case you need to add the query parameters as templates to `options.url`, as defined in the [RFC 6570 URI Template specification](https://tools.ietf.org/html/rfc6570). - -Example - -```js -request( - "POST https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", - { - name: "example.zip", - label: "short description", - headers: { - "content-type": "text/plain", - "content-length": 14, - authorization: `token 0000000000000000000000000000000000000001`, - }, - data: "Hello, world!", - }, -); -``` - -### Set a custom Agent to your requests - -The way to pass a custom `Agent` to requests is by creating a custom `fetch` function and pass it as `options.request.fetch`. A good example can be [undici's `fetch` implementation](https://undici.nodejs.org/#/?id=undicifetchinput-init-promise). - -Example ([See example in CodeSandbox](https://codesandbox.io/p/sandbox/nifty-stitch-wdlwlf)) - -```js -import { request } from "@octokit/request"; -import { fetch as undiciFetch, Agent } from "undici"; - -/** @type {typeof import("undici").fetch} */ -const myFetch = (url, options) => { - return undiciFetch(url, { - ...options, - dispatcher: new Agent({ - keepAliveTimeout: 10, - keepAliveMaxTimeout: 10, - }), - }); -}; - -const { data } = await request("GET /users/{username}", { - username: "octocat", - headers: { - "X-GitHub-Api-Version": "2022-11-28", - }, - options: { - request: { - fetch: myFetch, - }, - }, -}); -``` - -## LICENSE - -[MIT](LICENSE) diff --git a/node_modules/@octokit/request/dist-node/index.js b/node_modules/@octokit/request/dist-node/index.js deleted file mode 100644 index 55aa906..0000000 --- a/node_modules/@octokit/request/dist-node/index.js +++ /dev/null @@ -1,205 +0,0 @@ -"use strict"; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; -var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; -}; -var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - -// pkg/dist-src/index.js -var dist_src_exports = {}; -__export(dist_src_exports, { - request: () => request -}); -module.exports = __toCommonJS(dist_src_exports); -var import_endpoint = require("@octokit/endpoint"); -var import_universal_user_agent = require("universal-user-agent"); - -// pkg/dist-src/version.js -var VERSION = "8.1.4"; - -// pkg/dist-src/fetch-wrapper.js -var import_is_plain_object = require("is-plain-object"); -var import_request_error = require("@octokit/request-error"); - -// pkg/dist-src/get-buffer-response.js -function getBufferResponse(response) { - return response.arrayBuffer(); -} - -// pkg/dist-src/fetch-wrapper.js -function fetchWrapper(requestOptions) { - var _a, _b, _c; - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false; - if ((0, import_is_plain_object.isPlainObject)(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - let headers = {}; - let status; - let url; - let { fetch } = globalThis; - if ((_b = requestOptions.request) == null ? void 0 : _b.fetch) { - fetch = requestOptions.request.fetch; - } - if (!fetch) { - throw new Error( - "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" - ); - } - return fetch(requestOptions.url, { - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - signal: (_c = requestOptions.request) == null ? void 0 : _c.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" } - }).then(async (response) => { - url = response.url; - status = response.status; - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - if ("deprecation" in headers) { - const matches = headers.link && headers.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 ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` - ); - } - if (status === 204 || status === 205) { - return; - } - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - throw new import_request_error.RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: void 0 - }, - request: requestOptions - }); - } - if (status === 304) { - throw new import_request_error.RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new import_request_error.RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - return parseSuccessResponseBody ? await getResponseData(response) : response.body; - }).then((data) => { - return { - status, - url, - headers, - data - }; - }).catch((error) => { - if (error instanceof import_request_error.RequestError) - throw error; - else if (error.name === "AbortError") - throw error; - let 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; - } - } - throw new import_request_error.RequestError(message, 500, { - request: requestOptions - }); - }); -} -async function getResponseData(response) { - const contentType = response.headers.get("content-type"); - if (/application\/json/.test(contentType)) { - return response.json(); - } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBufferResponse(response); -} -function toErrorMessage(data) { - if (typeof data === "string") - return data; - if ("message" in data) { - if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; - } - return data.message; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(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.bind(null, endpoint2) - }); - return endpointOptions.request.hook(request2, endpointOptions); - }; - return Object.assign(newApi, { - endpoint: endpoint2, - defaults: withDefaults.bind(null, endpoint2) - }); -} - -// pkg/dist-src/index.js -var request = withDefaults(import_endpoint.endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}` - } -}); -// Annotate the CommonJS export names for ESM import in node: -0 && (module.exports = { - request -}); diff --git a/node_modules/@octokit/request/dist-node/index.js.map b/node_modules/@octokit/request/dist-node/index.js.map deleted file mode 100644 index 1959259..0000000 --- a/node_modules/@octokit/request/dist-node/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/fetch-wrapper.js", "../dist-src/get-buffer-response.js", "../dist-src/with-defaults.js"], - "sourcesContent": ["import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nconst request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n", "const VERSION = \"8.1.4\";\nexport {\n VERSION\n};\n", "import { isPlainObject } from \"is-plain-object\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n let { fetch } = globalThis;\n if (requestOptions.request?.fetch) {\n fetch = requestOptions.request.fetch;\n }\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n return fetch(requestOptions.url, {\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\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 }).then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.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 ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: void 0\n },\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\n throw error;\n let 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 throw new RequestError(message, 500, {\n request: requestOptions\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n fetchWrapper as default\n};\n", "function getBufferResponse(response) {\n return response.arrayBuffer();\n}\nexport {\n getBufferResponse as default\n};\n", "import fetchWrapper from \"./fetch-wrapper\";\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route2, parameters2) => {\n return fetchWrapper(\n endpoint.parse(endpoint.merge(route2, parameters2))\n );\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\nexport {\n withDefaults as default\n};\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyB;AACzB,kCAA6B;;;ACD7B,IAAM,UAAU;;;ACAhB,6BAA8B;AAC9B,2BAA6B;;;ACD7B,SAAS,kBAAkB,UAAU;AACnC,SAAO,SAAS,YAAY;AAC9B;;;ADCA,SAAS,aAAa,gBAAgB;AAHtC;AAIE,QAAM,MAAM,eAAe,WAAW,eAAe,QAAQ,MAAM,eAAe,QAAQ,MAAM;AAChG,QAAM,6BAA2B,oBAAe,YAAf,mBAAwB,8BAA6B;AACtF,UAAI,sCAAc,eAAe,IAAI,KAAK,MAAM,QAAQ,eAAe,IAAI,GAAG;AAC5E,mBAAe,OAAO,KAAK,UAAU,eAAe,IAAI;AAAA,EAC1D;AACA,MAAI,UAAU,CAAC;AACf,MAAI;AACJ,MAAI;AACJ,MAAI,EAAE,MAAM,IAAI;AAChB,OAAI,oBAAe,YAAf,mBAAwB,OAAO;AACjC,YAAQ,eAAe,QAAQ;AAAA,EACjC;AACA,MAAI,CAAC,OAAO;AACV,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,MAAM,eAAe,KAAK;AAAA,IAC/B,QAAQ,eAAe;AAAA,IACvB,MAAM,eAAe;AAAA,IACrB,SAAS,eAAe;AAAA,IACxB,SAAQ,oBAAe,YAAf,mBAAwB;AAAA;AAAA;AAAA,IAGhC,GAAG,eAAe,QAAQ,EAAE,QAAQ,OAAO;AAAA,EAC7C,CAAC,EAAE,KAAK,OAAO,aAAa;AAC1B,UAAM,SAAS;AACf,aAAS,SAAS;AAClB,eAAW,eAAe,SAAS,SAAS;AAC1C,cAAQ,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AAAA,IACzC;AACA,QAAI,iBAAiB,SAAS;AAC5B,YAAM,UAAU,QAAQ,QAAQ,QAAQ,KAAK,MAAM,8BAA8B;AACjF,YAAM,kBAAkB,WAAW,QAAQ,IAAI;AAC/C,UAAI;AAAA,QACF,uBAAuB,eAAe,MAAM,IAAI,eAAe,GAAG,qDAAqD,QAAQ,MAAM,GAAG,kBAAkB,SAAS,eAAe,KAAK,EAAE;AAAA,MAC3L;AAAA,IACF;AACA,QAAI,WAAW,OAAO,WAAW,KAAK;AACpC;AAAA,IACF;AACA,QAAI,eAAe,WAAW,QAAQ;AACpC,UAAI,SAAS,KAAK;AAChB;AAAA,MACF;AACA,YAAM,IAAI,kCAAa,SAAS,YAAY,QAAQ;AAAA,QAClD,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,WAAW,KAAK;AAClB,YAAM,IAAI,kCAAa,gBAAgB,QAAQ;AAAA,QAC7C,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM,MAAM,gBAAgB,QAAQ;AAAA,QACtC;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,UAAU,KAAK;AACjB,YAAM,OAAO,MAAM,gBAAgB,QAAQ;AAC3C,YAAM,QAAQ,IAAI,kCAAa,eAAe,IAAI,GAAG,QAAQ;AAAA,QAC3D,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AACD,YAAM;AAAA,IACR;AACA,WAAO,2BAA2B,MAAM,gBAAgB,QAAQ,IAAI,SAAS;AAAA,EAC/E,CAAC,EAAE,KAAK,CAAC,SAAS;AAChB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,QAAI,iBAAiB;AACnB,YAAM;AAAA,aACC,MAAM,SAAS;AACtB,YAAM;AACR,QAAI,UAAU,MAAM;AACpB,QAAI,MAAM,SAAS,eAAe,WAAW,OAAO;AAClD,UAAI,MAAM,iBAAiB,OAAO;AAChC,kBAAU,MAAM,MAAM;AAAA,MACxB,WAAW,OAAO,MAAM,UAAU,UAAU;AAC1C,kBAAU,MAAM;AAAA,MAClB;AAAA,IACF;AACA,UAAM,IAAI,kCAAa,SAAS,KAAK;AAAA,MACnC,SAAS;AAAA,IACX,CAAC;AAAA,EACH,CAAC;AACH;AACA,eAAe,gBAAgB,UAAU;AACvC,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AACvD,MAAI,oBAAoB,KAAK,WAAW,GAAG;AACzC,WAAO,SAAS,KAAK;AAAA,EACvB;AACA,MAAI,CAAC,eAAe,yBAAyB,KAAK,WAAW,GAAG;AAC9D,WAAO,SAAS,KAAK;AAAA,EACvB;AACA,SAAO,kBAAU,QAAQ;AAC3B;AACA,SAAS,eAAe,MAAM;AAC5B,MAAI,OAAO,SAAS;AAClB,WAAO;AACT,MAAI,aAAa,MAAM;AACrB,QAAI,MAAM,QAAQ,KAAK,MAAM,GAAG;AAC9B,aAAO,GAAG,KAAK,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,SAAS,EAAE,KAAK,IAAI,CAAC;AAAA,IACvE;AACA,WAAO,KAAK;AAAA,EACd;AACA,SAAO,kBAAkB,KAAK,UAAU,IAAI,CAAC;AAC/C;;;AEhIA,SAAS,aAAa,aAAa,aAAa;AAC9C,QAAMA,YAAW,YAAY,SAAS,WAAW;AACjD,QAAM,SAAS,SAAS,OAAO,YAAY;AACzC,UAAM,kBAAkBA,UAAS,MAAM,OAAO,UAAU;AACxD,QAAI,CAAC,gBAAgB,WAAW,CAAC,gBAAgB,QAAQ,MAAM;AAC7D,aAAO,aAAaA,UAAS,MAAM,eAAe,CAAC;AAAA,IACrD;AACA,UAAMC,WAAU,CAAC,QAAQ,gBAAgB;AACvC,aAAO;AAAA,QACLD,UAAS,MAAMA,UAAS,MAAM,QAAQ,WAAW,CAAC;AAAA,MACpD;AAAA,IACF;AACA,WAAO,OAAOC,UAAS;AAAA,MACrB,UAAAD;AAAA,MACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,IAC5C,CAAC;AACD,WAAO,gBAAgB,QAAQ,KAAKC,UAAS,eAAe;AAAA,EAC9D;AACA,SAAO,OAAO,OAAO,QAAQ;AAAA,IAC3B,UAAAD;AAAA,IACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,EAC5C,CAAC;AACH;;;AJnBA,IAAM,UAAU,aAAa,0BAAU;AAAA,EACrC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,QAAI,0CAAa,CAAC;AAAA,EAC/D;AACF,CAAC;", - "names": ["endpoint", "request"] -} diff --git a/node_modules/@octokit/request/dist-src/fetch-wrapper.js b/node_modules/@octokit/request/dist-src/fetch-wrapper.js deleted file mode 100644 index b7b6c1e..0000000 --- a/node_modules/@octokit/request/dist-src/fetch-wrapper.js +++ /dev/null @@ -1,133 +0,0 @@ -import { isPlainObject } from "is-plain-object"; -import { RequestError } from "@octokit/request-error"; -import getBuffer from "./get-buffer-response"; -function fetchWrapper(requestOptions) { - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; - if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - let headers = {}; - let status; - let url; - let { fetch } = globalThis; - if (requestOptions.request?.fetch) { - fetch = requestOptions.request.fetch; - } - if (!fetch) { - throw new Error( - "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" - ); - } - return fetch(requestOptions.url, { - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - 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" } - }).then(async (response) => { - url = response.url; - status = response.status; - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - if ("deprecation" in headers) { - const matches = headers.link && headers.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 ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` - ); - } - if (status === 204 || status === 205) { - return; - } - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - throw new RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: void 0 - }, - request: requestOptions - }); - } - if (status === 304) { - throw new RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - return parseSuccessResponseBody ? await getResponseData(response) : response.body; - }).then((data) => { - return { - status, - url, - headers, - data - }; - }).catch((error) => { - if (error instanceof RequestError) - throw error; - else if (error.name === "AbortError") - throw error; - let 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; - } - } - throw new RequestError(message, 500, { - request: requestOptions - }); - }); -} -async function getResponseData(response) { - const contentType = response.headers.get("content-type"); - if (/application\/json/.test(contentType)) { - return response.json(); - } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBuffer(response); -} -function toErrorMessage(data) { - if (typeof data === "string") - return data; - if ("message" in data) { - if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; - } - return data.message; - } - return `Unknown error: ${JSON.stringify(data)}`; -} -export { - fetchWrapper as default -}; diff --git a/node_modules/@octokit/request/dist-src/get-buffer-response.js b/node_modules/@octokit/request/dist-src/get-buffer-response.js deleted file mode 100644 index 792c895..0000000 --- a/node_modules/@octokit/request/dist-src/get-buffer-response.js +++ /dev/null @@ -1,6 +0,0 @@ -function getBufferResponse(response) { - return response.arrayBuffer(); -} -export { - getBufferResponse as default -}; diff --git a/node_modules/@octokit/request/dist-src/index.js b/node_modules/@octokit/request/dist-src/index.js deleted file mode 100644 index 1b3e12a..0000000 --- a/node_modules/@octokit/request/dist-src/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import { endpoint } from "@octokit/endpoint"; -import { getUserAgent } from "universal-user-agent"; -import { VERSION } from "./version"; -import withDefaults from "./with-defaults"; -const request = withDefaults(endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } -}); -export { - request -}; diff --git a/node_modules/@octokit/request/dist-src/version.js b/node_modules/@octokit/request/dist-src/version.js deleted file mode 100644 index e8af32a..0000000 --- a/node_modules/@octokit/request/dist-src/version.js +++ /dev/null @@ -1,4 +0,0 @@ -const VERSION = "8.1.4"; -export { - VERSION -}; diff --git a/node_modules/@octokit/request/dist-src/with-defaults.js b/node_modules/@octokit/request/dist-src/with-defaults.js deleted file mode 100644 index 0ee34b5..0000000 --- a/node_modules/@octokit/request/dist-src/with-defaults.js +++ /dev/null @@ -1,27 +0,0 @@ -import fetchWrapper from "./fetch-wrapper"; -function withDefaults(oldEndpoint, newDefaults) { - const endpoint = oldEndpoint.defaults(newDefaults); - const newApi = function(route, parameters) { - const endpointOptions = endpoint.merge(route, parameters); - if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint.parse(endpointOptions)); - } - const request = (route2, parameters2) => { - return fetchWrapper( - endpoint.parse(endpoint.merge(route2, parameters2)) - ); - }; - Object.assign(request, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); - return endpointOptions.request.hook(request, endpointOptions); - }; - return Object.assign(newApi, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); -} -export { - withDefaults as default -}; diff --git a/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts b/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts deleted file mode 100644 index eaa77c4..0000000 --- a/node_modules/@octokit/request/dist-types/fetch-wrapper.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { EndpointInterface } from "@octokit/types"; -export default function fetchWrapper(requestOptions: ReturnType): Promise<{ - status: number; - url: string; - headers: { - [header: string]: string; - }; - data: any; -}>; diff --git a/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts b/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts deleted file mode 100644 index 26f1852..0000000 --- a/node_modules/@octokit/request/dist-types/get-buffer-response.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function getBufferResponse(response: Response): Promise; diff --git a/node_modules/@octokit/request/dist-types/index.d.ts b/node_modules/@octokit/request/dist-types/index.d.ts deleted file mode 100644 index 1030809..0000000 --- a/node_modules/@octokit/request/dist-types/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const request: import("@octokit/types").RequestInterface; diff --git a/node_modules/@octokit/request/dist-types/version.d.ts b/node_modules/@octokit/request/dist-types/version.d.ts deleted file mode 100644 index 25f9737..0000000 --- a/node_modules/@octokit/request/dist-types/version.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "8.1.4"; diff --git a/node_modules/@octokit/request/dist-types/with-defaults.d.ts b/node_modules/@octokit/request/dist-types/with-defaults.d.ts deleted file mode 100644 index 4300682..0000000 --- a/node_modules/@octokit/request/dist-types/with-defaults.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { EndpointInterface, RequestInterface, RequestParameters } from "@octokit/types"; -export default function withDefaults(oldEndpoint: EndpointInterface, newDefaults: RequestParameters): RequestInterface; diff --git a/node_modules/@octokit/request/dist-web/index.js b/node_modules/@octokit/request/dist-web/index.js deleted file mode 100644 index df0e57c..0000000 --- a/node_modules/@octokit/request/dist-web/index.js +++ /dev/null @@ -1,179 +0,0 @@ -// pkg/dist-src/index.js -import { endpoint } from "@octokit/endpoint"; -import { getUserAgent } from "universal-user-agent"; - -// pkg/dist-src/version.js -var VERSION = "8.1.4"; - -// pkg/dist-src/fetch-wrapper.js -import { isPlainObject } from "is-plain-object"; -import { RequestError } from "@octokit/request-error"; - -// pkg/dist-src/get-buffer-response.js -function getBufferResponse(response) { - return response.arrayBuffer(); -} - -// pkg/dist-src/fetch-wrapper.js -function fetchWrapper(requestOptions) { - const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console; - const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false; - if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - let headers = {}; - let status; - let url; - let { fetch } = globalThis; - if (requestOptions.request?.fetch) { - fetch = requestOptions.request.fetch; - } - if (!fetch) { - throw new Error( - "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing" - ); - } - return fetch(requestOptions.url, { - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - 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" } - }).then(async (response) => { - url = response.url; - status = response.status; - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - if ("deprecation" in headers) { - const matches = headers.link && headers.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 ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` - ); - } - if (status === 204 || status === 205) { - return; - } - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - throw new RequestError(response.statusText, status, { - response: { - url, - status, - headers, - data: void 0 - }, - request: requestOptions - }); - } - if (status === 304) { - throw new RequestError("Not modified", status, { - response: { - url, - status, - headers, - data: await getResponseData(response) - }, - request: requestOptions - }); - } - if (status >= 400) { - const data = await getResponseData(response); - const error = new RequestError(toErrorMessage(data), status, { - response: { - url, - status, - headers, - data - }, - request: requestOptions - }); - throw error; - } - return parseSuccessResponseBody ? await getResponseData(response) : response.body; - }).then((data) => { - return { - status, - url, - headers, - data - }; - }).catch((error) => { - if (error instanceof RequestError) - throw error; - else if (error.name === "AbortError") - throw error; - let 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; - } - } - throw new RequestError(message, 500, { - request: requestOptions - }); - }); -} -async function getResponseData(response) { - const contentType = response.headers.get("content-type"); - if (/application\/json/.test(contentType)) { - return response.json(); - } - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - return getBufferResponse(response); -} -function toErrorMessage(data) { - if (typeof data === "string") - return data; - if ("message" in data) { - if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; - } - return data.message; - } - return `Unknown error: ${JSON.stringify(data)}`; -} - -// pkg/dist-src/with-defaults.js -function withDefaults(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.bind(null, endpoint2) - }); - return endpointOptions.request.hook(request2, endpointOptions); - }; - return Object.assign(newApi, { - endpoint: endpoint2, - defaults: withDefaults.bind(null, endpoint2) - }); -} - -// pkg/dist-src/index.js -var request = withDefaults(endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` - } -}); -export { - request -}; diff --git a/node_modules/@octokit/request/dist-web/index.js.map b/node_modules/@octokit/request/dist-web/index.js.map deleted file mode 100644 index 9490424..0000000 --- a/node_modules/@octokit/request/dist-web/index.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/fetch-wrapper.js", "../dist-src/get-buffer-response.js", "../dist-src/with-defaults.js"], - "sourcesContent": ["import { endpoint } from \"@octokit/endpoint\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport withDefaults from \"./with-defaults\";\nconst request = withDefaults(endpoint, {\n headers: {\n \"user-agent\": `octokit-request.js/${VERSION} ${getUserAgent()}`\n }\n});\nexport {\n request\n};\n", "const VERSION = \"8.1.4\";\nexport {\n VERSION\n};\n", "import { isPlainObject } from \"is-plain-object\";\nimport { RequestError } from \"@octokit/request-error\";\nimport getBuffer from \"./get-buffer-response\";\nfunction fetchWrapper(requestOptions) {\n const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;\n const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;\n if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {\n requestOptions.body = JSON.stringify(requestOptions.body);\n }\n let headers = {};\n let status;\n let url;\n let { fetch } = globalThis;\n if (requestOptions.request?.fetch) {\n fetch = requestOptions.request.fetch;\n }\n if (!fetch) {\n throw new Error(\n \"fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing\"\n );\n }\n return fetch(requestOptions.url, {\n method: requestOptions.method,\n body: requestOptions.body,\n headers: requestOptions.headers,\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 }).then(async (response) => {\n url = response.url;\n status = response.status;\n for (const keyAndValue of response.headers) {\n headers[keyAndValue[0]] = keyAndValue[1];\n }\n if (\"deprecation\" in headers) {\n const matches = headers.link && headers.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 ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : \"\"}`\n );\n }\n if (status === 204 || status === 205) {\n return;\n }\n if (requestOptions.method === \"HEAD\") {\n if (status < 400) {\n return;\n }\n throw new RequestError(response.statusText, status, {\n response: {\n url,\n status,\n headers,\n data: void 0\n },\n request: requestOptions\n });\n }\n if (status === 304) {\n throw new RequestError(\"Not modified\", status, {\n response: {\n url,\n status,\n headers,\n data: await getResponseData(response)\n },\n request: requestOptions\n });\n }\n if (status >= 400) {\n const data = await getResponseData(response);\n const error = new RequestError(toErrorMessage(data), status, {\n response: {\n url,\n status,\n headers,\n data\n },\n request: requestOptions\n });\n throw error;\n }\n return parseSuccessResponseBody ? await getResponseData(response) : response.body;\n }).then((data) => {\n return {\n status,\n url,\n headers,\n data\n };\n }).catch((error) => {\n if (error instanceof RequestError)\n throw error;\n else if (error.name === \"AbortError\")\n throw error;\n let 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 throw new RequestError(message, 500, {\n request: requestOptions\n });\n });\n}\nasync function getResponseData(response) {\n const contentType = response.headers.get(\"content-type\");\n if (/application\\/json/.test(contentType)) {\n return response.json();\n }\n if (!contentType || /^text\\/|charset=utf-8$/.test(contentType)) {\n return response.text();\n }\n return getBuffer(response);\n}\nfunction toErrorMessage(data) {\n if (typeof data === \"string\")\n return data;\n if (\"message\" in data) {\n if (Array.isArray(data.errors)) {\n return `${data.message}: ${data.errors.map(JSON.stringify).join(\", \")}`;\n }\n return data.message;\n }\n return `Unknown error: ${JSON.stringify(data)}`;\n}\nexport {\n fetchWrapper as default\n};\n", "function getBufferResponse(response) {\n return response.arrayBuffer();\n}\nexport {\n getBufferResponse as default\n};\n", "import fetchWrapper from \"./fetch-wrapper\";\nfunction withDefaults(oldEndpoint, newDefaults) {\n const endpoint = oldEndpoint.defaults(newDefaults);\n const newApi = function(route, parameters) {\n const endpointOptions = endpoint.merge(route, parameters);\n if (!endpointOptions.request || !endpointOptions.request.hook) {\n return fetchWrapper(endpoint.parse(endpointOptions));\n }\n const request = (route2, parameters2) => {\n return fetchWrapper(\n endpoint.parse(endpoint.merge(route2, parameters2))\n );\n };\n Object.assign(request, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n return endpointOptions.request.hook(request, endpointOptions);\n };\n return Object.assign(newApi, {\n endpoint,\n defaults: withDefaults.bind(null, endpoint)\n });\n}\nexport {\n withDefaults as default\n};\n"], - "mappings": ";AAAA,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;;;ACD7B,IAAM,UAAU;;;ACAhB,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;;;ACD7B,SAAS,kBAAkB,UAAU;AACnC,SAAO,SAAS,YAAY;AAC9B;;;ADCA,SAAS,aAAa,gBAAgB;AACpC,QAAM,MAAM,eAAe,WAAW,eAAe,QAAQ,MAAM,eAAe,QAAQ,MAAM;AAChG,QAAM,2BAA2B,eAAe,SAAS,6BAA6B;AACtF,MAAI,cAAc,eAAe,IAAI,KAAK,MAAM,QAAQ,eAAe,IAAI,GAAG;AAC5E,mBAAe,OAAO,KAAK,UAAU,eAAe,IAAI;AAAA,EAC1D;AACA,MAAI,UAAU,CAAC;AACf,MAAI;AACJ,MAAI;AACJ,MAAI,EAAE,MAAM,IAAI;AAChB,MAAI,eAAe,SAAS,OAAO;AACjC,YAAQ,eAAe,QAAQ;AAAA,EACjC;AACA,MAAI,CAAC,OAAO;AACV,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO,MAAM,eAAe,KAAK;AAAA,IAC/B,QAAQ,eAAe;AAAA,IACvB,MAAM,eAAe;AAAA,IACrB,SAAS,eAAe;AAAA,IACxB,QAAQ,eAAe,SAAS;AAAA;AAAA;AAAA,IAGhC,GAAG,eAAe,QAAQ,EAAE,QAAQ,OAAO;AAAA,EAC7C,CAAC,EAAE,KAAK,OAAO,aAAa;AAC1B,UAAM,SAAS;AACf,aAAS,SAAS;AAClB,eAAW,eAAe,SAAS,SAAS;AAC1C,cAAQ,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AAAA,IACzC;AACA,QAAI,iBAAiB,SAAS;AAC5B,YAAM,UAAU,QAAQ,QAAQ,QAAQ,KAAK,MAAM,8BAA8B;AACjF,YAAM,kBAAkB,WAAW,QAAQ,IAAI;AAC/C,UAAI;AAAA,QACF,uBAAuB,eAAe,MAAM,IAAI,eAAe,GAAG,qDAAqD,QAAQ,MAAM,GAAG,kBAAkB,SAAS,eAAe,KAAK,EAAE;AAAA,MAC3L;AAAA,IACF;AACA,QAAI,WAAW,OAAO,WAAW,KAAK;AACpC;AAAA,IACF;AACA,QAAI,eAAe,WAAW,QAAQ;AACpC,UAAI,SAAS,KAAK;AAChB;AAAA,MACF;AACA,YAAM,IAAI,aAAa,SAAS,YAAY,QAAQ;AAAA,QAClD,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM;AAAA,QACR;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,WAAW,KAAK;AAClB,YAAM,IAAI,aAAa,gBAAgB,QAAQ;AAAA,QAC7C,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAM,MAAM,gBAAgB,QAAQ;AAAA,QACtC;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,UAAU,KAAK;AACjB,YAAM,OAAO,MAAM,gBAAgB,QAAQ;AAC3C,YAAM,QAAQ,IAAI,aAAa,eAAe,IAAI,GAAG,QAAQ;AAAA,QAC3D,UAAU;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AACD,YAAM;AAAA,IACR;AACA,WAAO,2BAA2B,MAAM,gBAAgB,QAAQ,IAAI,SAAS;AAAA,EAC/E,CAAC,EAAE,KAAK,CAAC,SAAS;AAChB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,QAAI,iBAAiB;AACnB,YAAM;AAAA,aACC,MAAM,SAAS;AACtB,YAAM;AACR,QAAI,UAAU,MAAM;AACpB,QAAI,MAAM,SAAS,eAAe,WAAW,OAAO;AAClD,UAAI,MAAM,iBAAiB,OAAO;AAChC,kBAAU,MAAM,MAAM;AAAA,MACxB,WAAW,OAAO,MAAM,UAAU,UAAU;AAC1C,kBAAU,MAAM;AAAA,MAClB;AAAA,IACF;AACA,UAAM,IAAI,aAAa,SAAS,KAAK;AAAA,MACnC,SAAS;AAAA,IACX,CAAC;AAAA,EACH,CAAC;AACH;AACA,eAAe,gBAAgB,UAAU;AACvC,QAAM,cAAc,SAAS,QAAQ,IAAI,cAAc;AACvD,MAAI,oBAAoB,KAAK,WAAW,GAAG;AACzC,WAAO,SAAS,KAAK;AAAA,EACvB;AACA,MAAI,CAAC,eAAe,yBAAyB,KAAK,WAAW,GAAG;AAC9D,WAAO,SAAS,KAAK;AAAA,EACvB;AACA,SAAO,kBAAU,QAAQ;AAC3B;AACA,SAAS,eAAe,MAAM;AAC5B,MAAI,OAAO,SAAS;AAClB,WAAO;AACT,MAAI,aAAa,MAAM;AACrB,QAAI,MAAM,QAAQ,KAAK,MAAM,GAAG;AAC9B,aAAO,GAAG,KAAK,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,SAAS,EAAE,KAAK,IAAI,CAAC;AAAA,IACvE;AACA,WAAO,KAAK;AAAA,EACd;AACA,SAAO,kBAAkB,KAAK,UAAU,IAAI,CAAC;AAC/C;;;AEhIA,SAAS,aAAa,aAAa,aAAa;AAC9C,QAAMA,YAAW,YAAY,SAAS,WAAW;AACjD,QAAM,SAAS,SAAS,OAAO,YAAY;AACzC,UAAM,kBAAkBA,UAAS,MAAM,OAAO,UAAU;AACxD,QAAI,CAAC,gBAAgB,WAAW,CAAC,gBAAgB,QAAQ,MAAM;AAC7D,aAAO,aAAaA,UAAS,MAAM,eAAe,CAAC;AAAA,IACrD;AACA,UAAMC,WAAU,CAAC,QAAQ,gBAAgB;AACvC,aAAO;AAAA,QACLD,UAAS,MAAMA,UAAS,MAAM,QAAQ,WAAW,CAAC;AAAA,MACpD;AAAA,IACF;AACA,WAAO,OAAOC,UAAS;AAAA,MACrB,UAAAD;AAAA,MACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,IAC5C,CAAC;AACD,WAAO,gBAAgB,QAAQ,KAAKC,UAAS,eAAe;AAAA,EAC9D;AACA,SAAO,OAAO,OAAO,QAAQ;AAAA,IAC3B,UAAAD;AAAA,IACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,EAC5C,CAAC;AACH;;;AJnBA,IAAM,UAAU,aAAa,UAAU;AAAA,EACrC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,IAAI,aAAa,CAAC;AAAA,EAC/D;AACF,CAAC;", - "names": ["endpoint", "request"] -} diff --git a/node_modules/@octokit/request/package.json b/node_modules/@octokit/request/package.json deleted file mode 100644 index e0a8e67..0000000 --- a/node_modules/@octokit/request/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "@octokit/request", - "version": "8.1.4", - "publishConfig": { - "access": "public" - }, - "description": "Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node", - "repository": "github:octokit/request.js", - "keywords": [ - "octokit", - "github", - "api", - "request" - ], - "author": "Gregor Martynus (https://github.com/gr2m)", - "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^9.0.0", - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, - "devDependencies": { - "@octokit/auth-app": "^6.0.0", - "@octokit/tsconfig": "^2.0.0", - "@types/fetch-mock": "^7.2.4", - "@types/jest": "^29.0.0", - "@types/lolex": "^5.1.0", - "@types/node": "^18.0.0", - "@types/once": "^1.4.0", - "esbuild": "^0.19.0", - "fetch-mock": "^9.3.1", - "glob": "^10.2.4", - "jest": "^29.0.0", - "lolex": "^6.0.0", - "prettier": "3.0.3", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "string-to-arraybuffer": "^1.0.2", - "ts-jest": "^29.0.0", - "typescript": "^5.0.0" - }, - "engines": { - "node": ">= 18" - }, - "files": [ - "dist-*/**", - "bin/**" - ], - "main": "dist-node/index.js", - "browser": "dist-web/index.js", - "types": "dist-types/index.d.ts", - "module": "dist-src/index.js", - "sideEffects": false -} diff --git a/node_modules/@octokit/types/LICENSE b/node_modules/@octokit/types/LICENSE deleted file mode 100644 index 57bee5f..0000000 --- a/node_modules/@octokit/types/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -MIT License Copyright (c) 2019 Octokit contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/@octokit/types/README.md b/node_modules/@octokit/types/README.md deleted file mode 100644 index 7ebe154..0000000 --- a/node_modules/@octokit/types/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# types.ts - -> Shared TypeScript definitions for Octokit projects - -[![@latest](https://img.shields.io/npm/v/@octokit/types.svg)](https://www.npmjs.com/package/@octokit/types) -[![Build Status](https://github.com/octokit/types.ts/workflows/Test/badge.svg)](https://github.com/octokit/types.ts/actions?workflow=Test) - - - -- [Usage](#usage) -- [Examples](#examples) - - [Get parameter and response data types for a REST API endpoint](#get-parameter-and-response-data-types-for-a-rest-api-endpoint) - - [Get response types from endpoint methods](#get-response-types-from-endpoint-methods) -- [Contributing](#contributing) -- [License](#license) - - - -## Usage - -See all exported types at https://octokit.github.io/types.ts - -## Examples - -### Get parameter and response data types for a REST API endpoint - -```ts -import { Endpoints } from "@octokit/types"; - -type listUserReposParameters = - Endpoints["GET /repos/{owner}/{repo}"]["parameters"]; -type listUserReposResponse = Endpoints["GET /repos/{owner}/{repo}"]["response"]; - -async function listRepos( - options: listUserReposParameters, -): listUserReposResponse["data"] { - // ... -} -``` - -### Get response types from endpoint methods - -```ts -import { - GetResponseTypeFromEndpointMethod, - GetResponseDataTypeFromEndpointMethod, -} from "@octokit/types"; -import { Octokit } from "@octokit/rest"; - -const octokit = new Octokit(); -type CreateLabelResponseType = GetResponseTypeFromEndpointMethod< - typeof octokit.issues.createLabel ->; -type CreateLabelResponseDataType = GetResponseDataTypeFromEndpointMethod< - typeof octokit.issues.createLabel ->; -``` - -## Contributing - -See [CONTRIBUTING.md](CONTRIBUTING.md) - -## License - -[MIT](LICENSE) diff --git a/node_modules/@octokit/types/dist-types/AuthInterface.d.ts b/node_modules/@octokit/types/dist-types/AuthInterface.d.ts deleted file mode 100644 index 616d6d5..0000000 --- a/node_modules/@octokit/types/dist-types/AuthInterface.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import type { EndpointOptions } from "./EndpointOptions"; -import type { OctokitResponse } from "./OctokitResponse"; -import type { RequestInterface } from "./RequestInterface"; -import type { RequestParameters } from "./RequestParameters"; -import type { Route } from "./Route"; -/** - * Interface to implement complex authentication strategies for Octokit. - * An object Implementing the AuthInterface can directly be passed as the - * `auth` option in the Octokit constructor. - * - * For the official implementations of the most common authentication - * strategies, see https://github.com/octokit/auth.js - */ -export interface AuthInterface { - (...args: AuthOptions): Promise; - hook: { - /** - * Sends a request using the passed `request` instance - * - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ - (request: RequestInterface, options: EndpointOptions): Promise>; - /** - * Sends a request using the passed `request` instance - * - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ - (request: RequestInterface, route: Route, parameters?: RequestParameters): Promise>; - }; -} diff --git a/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts b/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts deleted file mode 100644 index 3bbc388..0000000 --- a/node_modules/@octokit/types/dist-types/EndpointDefaults.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import type { RequestHeaders } from "./RequestHeaders"; -import type { RequestMethod } from "./RequestMethod"; -import type { RequestParameters } from "./RequestParameters"; -import type { Url } from "./Url"; -/** - * The `.endpoint()` method is guaranteed to set all keys defined by RequestParameters - * as well as the method property. - */ -export type EndpointDefaults = RequestParameters & { - baseUrl: Url; - method: RequestMethod; - url?: Url; - headers: RequestHeaders & { - accept: string; - "user-agent": string; - }; - mediaType: { - format: string; - previews?: string[]; - }; -}; diff --git a/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts b/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts deleted file mode 100644 index 184bf73..0000000 --- a/node_modules/@octokit/types/dist-types/EndpointInterface.d.ts +++ /dev/null @@ -1,65 +0,0 @@ -import type { EndpointDefaults } from "./EndpointDefaults"; -import type { RequestOptions } from "./RequestOptions"; -import type { RequestParameters } from "./RequestParameters"; -import type { Route } from "./Route"; -import type { Endpoints } from "./generated/Endpoints"; -export interface EndpointInterface { - /** - * Transforms a GitHub REST API endpoint into generic request options - * - * @param {object} endpoint Must set `url` unless it's set defaults. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ - (options: O & { - method?: string; - } & ("url" extends keyof D ? { - url?: string; - } : { - url: string; - })): RequestOptions & Pick; - /** - * Transforms a GitHub REST API endpoint into generic request options - * - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ - (route: keyof Endpoints | R, parameters?: P): (R extends keyof Endpoints ? Endpoints[R]["request"] : RequestOptions) & Pick; - /** - * Object with current default route and parameters - */ - DEFAULTS: D & EndpointDefaults; - /** - * Returns a new `endpoint` interface with new defaults - */ - defaults: (newDefaults: O) => EndpointInterface; - merge: { - /** - * Merges current endpoint defaults with passed route and parameters, - * without transforming them into request options. - * - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - * - */ - (route: keyof Endpoints | R, parameters?: P): D & (R extends keyof Endpoints ? Endpoints[R]["request"] & Endpoints[R]["parameters"] : EndpointDefaults) & P; - /** - * Merges current endpoint defaults with passed route and parameters, - * without transforming them into request options. - * - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ -

(options: P): EndpointDefaults & D & P; - /** - * Returns current default options. - * - * @deprecated use endpoint.DEFAULTS instead - */ - (): D & EndpointDefaults; - }; - /** - * Stateless method to turn endpoint options into request options. - * Calling `endpoint(options)` is the same as calling `endpoint.parse(endpoint.merge(options))`. - * - * @param {object} options `method`, `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ - parse: (options: O) => RequestOptions & Pick; -} diff --git a/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts b/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts deleted file mode 100644 index e77168e..0000000 --- a/node_modules/@octokit/types/dist-types/EndpointOptions.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { RequestMethod } from "./RequestMethod"; -import type { Url } from "./Url"; -import type { RequestParameters } from "./RequestParameters"; -export type EndpointOptions = RequestParameters & { - method: RequestMethod; - url: Url; -}; diff --git a/node_modules/@octokit/types/dist-types/Fetch.d.ts b/node_modules/@octokit/types/dist-types/Fetch.d.ts deleted file mode 100644 index 983c79b..0000000 --- a/node_modules/@octokit/types/dist-types/Fetch.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** - * Browser's fetch method (or compatible such as fetch-mock) - */ -export type Fetch = any; diff --git a/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts b/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts deleted file mode 100644 index 2daaf34..0000000 --- a/node_modules/@octokit/types/dist-types/GetResponseTypeFromEndpointMethod.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -type Unwrap = T extends Promise ? U : T; -type AnyFunction = (...args: any[]) => any; -export type GetResponseTypeFromEndpointMethod = Unwrap>; -export type GetResponseDataTypeFromEndpointMethod = Unwrap>["data"]; -export {}; diff --git a/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts b/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts deleted file mode 100644 index 64c6496..0000000 --- a/node_modules/@octokit/types/dist-types/OctokitResponse.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { ResponseHeaders } from "./ResponseHeaders"; -import type { Url } from "./Url"; -export type OctokitResponse = { - headers: ResponseHeaders; - /** - * http response code - */ - status: S; - /** - * URL of response after all redirects - */ - url: Url; - /** - * Response data as documented in the REST API reference documentation at https://docs.github.com/rest/reference - */ - data: T; -}; diff --git a/node_modules/@octokit/types/dist-types/RequestError.d.ts b/node_modules/@octokit/types/dist-types/RequestError.d.ts deleted file mode 100644 index 4608392..0000000 --- a/node_modules/@octokit/types/dist-types/RequestError.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -export type RequestError = { - name: string; - status: number; - documentation_url: string; - errors?: Array<{ - resource: string; - code: string; - field: string; - message?: string; - }>; -}; diff --git a/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts b/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts deleted file mode 100644 index 4231159..0000000 --- a/node_modules/@octokit/types/dist-types/RequestHeaders.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -export type RequestHeaders = { - /** - * Avoid setting `headers.accept`, use `mediaType.{format|previews}` option instead. - */ - accept?: string; - /** - * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678` - */ - authorization?: string; - /** - * `user-agent` is set do a default and can be overwritten as needed. - */ - "user-agent"?: string; - [header: string]: string | number | undefined; -}; diff --git a/node_modules/@octokit/types/dist-types/RequestInterface.d.ts b/node_modules/@octokit/types/dist-types/RequestInterface.d.ts deleted file mode 100644 index cc757e4..0000000 --- a/node_modules/@octokit/types/dist-types/RequestInterface.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type { EndpointInterface } from "./EndpointInterface"; -import type { OctokitResponse } from "./OctokitResponse"; -import type { RequestParameters } from "./RequestParameters"; -import type { Route } from "./Route"; -import type { Endpoints } from "./generated/Endpoints"; -export interface RequestInterface { - /** - * Sends a request based on endpoint options - * - * @param {object} endpoint Must set `method` and `url`. Plus URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ - (options: O & { - method?: string; - } & ("url" extends keyof D ? { - url?: string; - } : { - url: string; - })): Promise>; - /** - * Sends a request based on endpoint options - * - * @param {string} route Request method + URL. Example: `'GET /orgs/{org}'` - * @param {object} [parameters] URL, query or body parameters, as well as `headers`, `mediaType.{format|previews}`, `request`, or `baseUrl`. - */ - (route: keyof Endpoints | R, options?: R extends keyof Endpoints ? Endpoints[R]["parameters"] & RequestParameters : RequestParameters): R extends keyof Endpoints ? Promise : Promise>; - /** - * Returns a new `request` with updated route and parameters - */ - defaults: (newDefaults: O) => RequestInterface; - /** - * Octokit endpoint API, see {@link https://github.com/octokit/endpoint.js|@octokit/endpoint} - */ - endpoint: EndpointInterface; -} diff --git a/node_modules/@octokit/types/dist-types/RequestMethod.d.ts b/node_modules/@octokit/types/dist-types/RequestMethod.d.ts deleted file mode 100644 index 4cdfe61..0000000 --- a/node_modules/@octokit/types/dist-types/RequestMethod.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** - * HTTP Verb supported by GitHub's REST API - */ -export type RequestMethod = "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; diff --git a/node_modules/@octokit/types/dist-types/RequestOptions.d.ts b/node_modules/@octokit/types/dist-types/RequestOptions.d.ts deleted file mode 100644 index b799c0f..0000000 --- a/node_modules/@octokit/types/dist-types/RequestOptions.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { RequestHeaders } from "./RequestHeaders"; -import type { RequestMethod } from "./RequestMethod"; -import type { RequestRequestOptions } from "./RequestRequestOptions"; -import type { Url } from "./Url"; -/** - * Generic request options as they are returned by the `endpoint()` method - */ -export type RequestOptions = { - method: RequestMethod; - url: Url; - headers: RequestHeaders; - body?: any; - request?: RequestRequestOptions; -}; diff --git a/node_modules/@octokit/types/dist-types/RequestParameters.d.ts b/node_modules/@octokit/types/dist-types/RequestParameters.d.ts deleted file mode 100644 index e212478..0000000 --- a/node_modules/@octokit/types/dist-types/RequestParameters.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -import type { RequestRequestOptions } from "./RequestRequestOptions"; -import type { RequestHeaders } from "./RequestHeaders"; -import type { Url } from "./Url"; -/** - * Parameters that can be passed into `request(route, parameters)` or `endpoint(route, parameters)` methods - */ -export type RequestParameters = { - /** - * Base URL to be used when a relative URL is passed, such as `/orgs/{org}`. - * If `baseUrl` is `https://enterprise.acme-inc.com/api/v3`, then the request - * will be sent to `https://enterprise.acme-inc.com/api/v3/orgs/{org}`. - */ - baseUrl?: Url; - /** - * HTTP headers. Use lowercase keys. - */ - headers?: RequestHeaders; - /** - * Media type options, see {@link https://developer.github.com/v3/media/|GitHub Developer Guide} - */ - mediaType?: { - /** - * `json` by default. Can be `raw`, `text`, `html`, `full`, `diff`, `patch`, `sha`, `base64`. Depending on endpoint - */ - format?: string; - /** - * Custom media type names of {@link https://docs.github.com/en/graphql/overview/schema-previews|GraphQL API Previews} without the `-preview` suffix. - * Example for single preview: `['squirrel-girl']`. - * Example for multiple previews: `['squirrel-girl', 'mister-fantastic']`. - */ - previews?: string[]; - }; - /** - * Pass custom meta information for the request. The `request` object will be returned as is. - */ - request?: RequestRequestOptions; - /** - * Any additional parameter will be passed as follows - * 1. URL parameter if `':parameter'` or `{parameter}` is part of `url` - * 2. Query parameter if `method` is `'GET'` or `'HEAD'` - * 3. Request body if `parameter` is `'data'` - * 4. JSON in the request body in the form of `body[parameter]` unless `parameter` key is `'data'` - */ - [parameter: string]: unknown; -}; diff --git a/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts b/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts deleted file mode 100644 index 0e4d269..0000000 --- a/node_modules/@octokit/types/dist-types/RequestRequestOptions.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { Fetch } from "./Fetch"; -import type { Signal } from "./Signal"; -/** - * Octokit-specific request options which are ignored for the actual request, but can be used by Octokit or plugins to manipulate how the request is sent or how a response is handled - */ -export type RequestRequestOptions = { - /** - * Custom replacement for built-in fetch method. Useful for testing or request hooks. - */ - fetch?: Fetch; - /** - * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests. - */ - signal?: Signal; - /** - * If set to `false`, the response body will not be parsed and will be returned as a stream. - */ - parseSuccessResponseBody?: boolean; - [option: string]: any; -}; diff --git a/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts b/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts deleted file mode 100644 index ff7af38..0000000 --- a/node_modules/@octokit/types/dist-types/ResponseHeaders.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -export type ResponseHeaders = { - "cache-control"?: string; - "content-length"?: number; - "content-type"?: string; - date?: string; - etag?: string; - "last-modified"?: string; - link?: string; - location?: string; - server?: string; - status?: string; - vary?: string; - "x-github-mediatype"?: string; - "x-github-request-id"?: string; - "x-oauth-scopes"?: string; - "x-ratelimit-limit"?: string; - "x-ratelimit-remaining"?: string; - "x-ratelimit-reset"?: string; - [header: string]: string | number | undefined; -}; diff --git a/node_modules/@octokit/types/dist-types/Route.d.ts b/node_modules/@octokit/types/dist-types/Route.d.ts deleted file mode 100644 index 808991e..0000000 --- a/node_modules/@octokit/types/dist-types/Route.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** - * String consisting of an optional HTTP method and relative path or absolute URL. Examples: `'/orgs/{org}'`, `'PUT /orgs/{org}'`, `GET https://example.com/foo/bar` - */ -export type Route = string; diff --git a/node_modules/@octokit/types/dist-types/Signal.d.ts b/node_modules/@octokit/types/dist-types/Signal.d.ts deleted file mode 100644 index bdf9700..0000000 --- a/node_modules/@octokit/types/dist-types/Signal.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Abort signal - * - * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal - */ -export type Signal = any; diff --git a/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts b/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts deleted file mode 100644 index 6b213ab..0000000 --- a/node_modules/@octokit/types/dist-types/StrategyInterface.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { AuthInterface } from "./AuthInterface"; -export interface StrategyInterface { - (...args: StrategyOptions): AuthInterface; -} diff --git a/node_modules/@octokit/types/dist-types/Url.d.ts b/node_modules/@octokit/types/dist-types/Url.d.ts deleted file mode 100644 index 521f5ad..0000000 --- a/node_modules/@octokit/types/dist-types/Url.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -/** - * Relative or absolute URL. Examples: `'/orgs/{org}'`, `https://example.com/foo/bar` - */ -export type Url = string; diff --git a/node_modules/@octokit/types/dist-types/VERSION.d.ts b/node_modules/@octokit/types/dist-types/VERSION.d.ts deleted file mode 100644 index 2521101..0000000 --- a/node_modules/@octokit/types/dist-types/VERSION.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const VERSION = "12.0.0"; diff --git a/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts b/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts deleted file mode 100644 index fb1bbbb..0000000 --- a/node_modules/@octokit/types/dist-types/generated/Endpoints.d.ts +++ /dev/null @@ -1,3658 +0,0 @@ -import type { paths } from "@octokit/openapi-types"; -import type { OctokitResponse } from "../OctokitResponse"; -import type { RequestHeaders } from "../RequestHeaders"; -import type { RequestRequestOptions } from "../RequestRequestOptions"; -type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; -type ExtractParameters = "parameters" extends keyof T ? UnionToIntersection<{ - [K in keyof T["parameters"]]-?: T["parameters"][K]; -}[keyof T["parameters"]]> : {}; -type ExtractRequestBody = "requestBody" extends keyof T ? "content" extends keyof T["requestBody"] ? "application/json" extends keyof T["requestBody"]["content"] ? T["requestBody"]["content"]["application/json"] : { - data: { - [K in keyof T["requestBody"]["content"]]: T["requestBody"]["content"][K]; - }[keyof T["requestBody"]["content"]]; -} : "application/json" extends keyof T["requestBody"] ? T["requestBody"]["application/json"] : { - data: { - [K in keyof T["requestBody"]]: T["requestBody"][K]; - }[keyof T["requestBody"]]; -} : {}; -type ToOctokitParameters = ExtractParameters & ExtractRequestBody>; -type Operation = { - parameters: ToOctokitParameters; - request: { - method: Method extends keyof MethodsMap ? MethodsMap[Method] : never; - url: Url; - headers: RequestHeaders; - request: RequestRequestOptions; - }; - response: ExtractOctokitResponse; -}; -type MethodsMap = { - delete: "DELETE"; - get: "GET"; - patch: "PATCH"; - post: "POST"; - put: "PUT"; -}; -type SuccessStatuses = 200 | 201 | 202 | 204; -type RedirectStatuses = 301 | 302; -type EmptyResponseStatuses = 201 | 204; -type KnownJsonResponseTypes = "application/json" | "application/scim+json" | "text/html"; -type SuccessResponseDataType = { - [K in SuccessStatuses & keyof Responses]: GetContentKeyIfPresent extends never ? never : OctokitResponse, K>; -}[SuccessStatuses & keyof Responses]; -type RedirectResponseDataType = { - [K in RedirectStatuses & keyof Responses]: OctokitResponse; -}[RedirectStatuses & keyof Responses]; -type EmptyResponseDataType = { - [K in EmptyResponseStatuses & keyof Responses]: OctokitResponse; -}[EmptyResponseStatuses & keyof Responses]; -type GetContentKeyIfPresent = "content" extends keyof T ? DataType : DataType; -type DataType = { - [K in KnownJsonResponseTypes & keyof T]: T[K]; -}[KnownJsonResponseTypes & keyof T]; -type ExtractOctokitResponse = "responses" extends keyof R ? SuccessResponseDataType extends never ? RedirectResponseDataType extends never ? EmptyResponseDataType : RedirectResponseDataType : SuccessResponseDataType : unknown; -export interface Endpoints { - /** - * @see https://docs.github.com/rest/apps/apps#delete-an-installation-for-the-authenticated-app - */ - "DELETE /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "delete">; - /** - * @see https://docs.github.com/rest/apps/apps#unsuspend-an-app-installation - */ - "DELETE /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "delete">; - /** - * @see https://docs.github.com/rest/apps/oauth-applications#delete-an-app-authorization - */ - "DELETE /applications/{client_id}/grant": Operation<"/applications/{client_id}/grant", "delete">; - /** - * @see https://docs.github.com/rest/apps/oauth-applications#delete-an-app-token - */ - "DELETE /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "delete">; - /** - * @see https://docs.github.com/rest/gists/gists#delete-a-gist - */ - "DELETE /gists/{gist_id}": Operation<"/gists/{gist_id}", "delete">; - /** - * @see https://docs.github.com/rest/gists/comments#delete-a-gist-comment - */ - "DELETE /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "delete">; - /** - * @see https://docs.github.com/rest/gists/gists#unstar-a-gist - */ - "DELETE /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "delete">; - /** - * @see https://docs.github.com/rest/apps/installations#revoke-an-installation-access-token - */ - "DELETE /installation/token": Operation<"/installation/token", "delete">; - /** - * @see https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription - */ - "DELETE /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "delete">; - /** - * @see https://docs.github.com/rest/orgs/orgs#delete-an-organization - */ - "DELETE /orgs/{org}": Operation<"/orgs/{org}", "delete">; - /** - * @see https://docs.github.com/rest/actions/permissions#disable-a-selected-repository-for-github-actions-in-an-organization - */ - "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "delete">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-an-organization - */ - "DELETE /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "delete">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization - */ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "delete">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization - */ - "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels/{name}", "delete">; - /** - * @see https://docs.github.com/rest/actions/secrets#delete-an-organization-secret - */ - "DELETE /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "delete">; - /** - * @see https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret - */ - "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "delete">; - /** - * @see https://docs.github.com/rest/actions/variables#delete-an-organization-variable - */ - "DELETE /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "delete">; - /** - * @see https://docs.github.com/rest/actions/variables#remove-selected-repository-from-an-organization-variable - */ - "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/variables/{name}/repositories/{repository_id}", "delete">; - /** - * @see https://docs.github.com/rest/orgs/blocking#unblock-a-user-from-an-organization - */ - "DELETE /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "delete">; - /** - * @see https://docs.github.com/rest/codespaces/organizations#remove-users-from-codespaces-access-for-an-organization - */ - "DELETE /orgs/{org}/codespaces/access/selected_users": Operation<"/orgs/{org}/codespaces/access/selected_users", "delete">; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#delete-an-organization-secret - */ - "DELETE /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "delete">; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret - */ - "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; - /** - * @see https://docs.github.com/rest/copilot/copilot-for-business#remove-teams-from-the-copilot-for-business-subscription-for-an-organization - */ - "DELETE /orgs/{org}/copilot/billing/selected_teams": Operation<"/orgs/{org}/copilot/billing/selected_teams", "delete">; - /** - * @see https://docs.github.com/rest/copilot/copilot-for-business#remove-users-from-the-copilot-for-business-subscription-for-an-organization - */ - "DELETE /orgs/{org}/copilot/billing/selected_users": Operation<"/orgs/{org}/copilot/billing/selected_users", "delete">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#delete-an-organization-secret - */ - "DELETE /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "delete">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret - */ - "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "delete">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#delete-an-organization-webhook - */ - "DELETE /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "delete">; - /** - * @see https://docs.github.com/rest/interactions/orgs#remove-interaction-restrictions-for-an-organization - */ - "DELETE /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "delete">; - /** - * @see https://docs.github.com/rest/orgs/members#cancel-an-organization-invitation - */ - "DELETE /orgs/{org}/invitations/{invitation_id}": Operation<"/orgs/{org}/invitations/{invitation_id}", "delete">; - /** - * @see https://docs.github.com/rest/orgs/members#remove-an-organization-member - */ - "DELETE /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "delete">; - /** - * @see https://docs.github.com/rest/codespaces/organizations#delete-a-codespace-from-the-organization - */ - "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}", "delete">; - /** - * @see https://docs.github.com/rest/orgs/members#remove-organization-membership-for-a-user - */ - "DELETE /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "delete">; - /** - * @see https://docs.github.com/rest/migrations/orgs#delete-an-organization-migration-archive - */ - "DELETE /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "delete">; - /** - * @see https://docs.github.com/rest/migrations/orgs#unlock-an-organization-repository - */ - "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; - /** - * @see https://docs.github.com/rest/orgs/outside-collaborators#remove-outside-collaborator-from-an-organization - */ - "DELETE /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "delete">; - /** - * @see https://docs.github.com/rest/packages/packages#delete-a-package-for-an-organization - */ - "DELETE /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "delete">; - /** - * @see https://docs.github.com/rest/packages/packages#delete-package-version-for-an-organization - */ - "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; - /** - * @see https://docs.github.com/rest/orgs/members#remove-public-organization-membership-for-the-authenticated-user - */ - "DELETE /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "delete">; - /** - * @see https://docs.github.com/rest/orgs/rules#delete-an-organization-repository-ruleset - */ - "DELETE /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "delete">; - /** - * @see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team - */ - "DELETE /orgs/{org}/security-managers/teams/{team_slug}": Operation<"/orgs/{org}/security-managers/teams/{team_slug}", "delete">; - /** - * @see https://docs.github.com/rest/teams/teams#delete-a-team - */ - "DELETE /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "delete">; - /** - * @see https://docs.github.com/rest/teams/discussions#delete-a-discussion - */ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "delete">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment - */ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "delete">; - /** - * @see https://docs.github.com/rest/reactions/reactions#delete-team-discussion-comment-reaction - */ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}", "delete">; - /** - * @see https://docs.github.com/rest/reactions/reactions#delete-team-discussion-reaction - */ - "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}", "delete">; - /** - * @see https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user - */ - "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "delete">; - /** - * @see https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team - */ - "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "delete">; - /** - * @see https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team - */ - "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "delete">; - /** - * @see https://docs.github.com/rest/projects/cards#delete-a-project-card - */ - "DELETE /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "delete">; - /** - * @see https://docs.github.com/rest/projects/columns#delete-a-project-column - */ - "DELETE /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "delete">; - /** - * @see https://docs.github.com/rest/projects/projects#delete-a-project - */ - "DELETE /projects/{project_id}": Operation<"/projects/{project_id}", "delete">; - /** - * @see https://docs.github.com/rest/projects/collaborators#remove-user-as-a-collaborator - */ - "DELETE /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "delete">; - /** - * @see https://docs.github.com/rest/repos/repos#delete-a-repository - */ - "DELETE /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "delete">; - /** - * @see https://docs.github.com/rest/actions/artifacts#delete-an-artifact - */ - "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "delete">; - /** - * @see https://docs.github.com/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id - */ - "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}": Operation<"/repos/{owner}/{repo}/actions/caches/{cache_id}", "delete">; - /** - * @see https://docs.github.com/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key - */ - "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}": Operation<"/repos/{owner}/{repo}/actions/caches", "delete">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-a-repository - */ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "delete">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository - */ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "delete">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository - */ - "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}", "delete">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#delete-a-workflow-run - */ - "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "delete">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#delete-workflow-run-logs - */ - "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "delete">; - /** - * @see https://docs.github.com/rest/actions/secrets#delete-a-repository-secret - */ - "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "delete">; - /** - * @see https://docs.github.com/rest/actions/variables#delete-a-repository-variable - */ - "DELETE /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "delete">; - /** - * @see https://docs.github.com/rest/repos/autolinks#delete-an-autolink-reference-from-a-repository - */ - "DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "delete">; - /** - * @see https://docs.github.com/rest/repos/repos#disable-automated-security-fixes - */ - "DELETE /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#delete-branch-protection - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#delete-admin-branch-protection - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#delete-pull-request-review-protection - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#delete-commit-signature-protection - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#remove-status-check-protection - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#remove-status-check-contexts - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#delete-access-restrictions - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#remove-app-access-restrictions - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#remove-team-access-restrictions - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "delete">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#remove-user-access-restrictions - */ - "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "delete">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#delete-a-code-scanning-analysis-from-a-repository - */ - "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "delete">; - /** - * @see https://docs.github.com/rest/codespaces/repository-secrets#delete-a-repository-secret - */ - "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "delete">; - /** - * @see https://docs.github.com/rest/collaborators/collaborators#remove-a-repository-collaborator - */ - "DELETE /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "delete">; - /** - * @see https://docs.github.com/rest/commits/comments#delete-a-commit-comment - */ - "DELETE /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "delete">; - /** - * @see https://docs.github.com/rest/reactions/reactions#delete-a-commit-comment-reaction - */ - "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}", "delete">; - /** - * @see https://docs.github.com/rest/repos/contents#delete-a-file - */ - "DELETE /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "delete">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#delete-a-repository-secret - */ - "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "delete">; - /** - * @see https://docs.github.com/rest/deployments/deployments#delete-a-deployment - */ - "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "delete">; - /** - * @see https://docs.github.com/rest/deployments/environments#delete-an-environment - */ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "delete">; - /** - * @see https://docs.github.com/rest/deployments/branch-policies#delete-a-deployment-branch-policy - */ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "delete">; - /** - * @see https://docs.github.com/rest/deployments/protection-rules#disable-a-custom-protection-rule-for-an-environment - */ - "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}", "delete">; - /** - * @see https://docs.github.com/rest/git/refs#delete-a-reference - */ - "DELETE /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "delete">; - /** - * @see https://docs.github.com/rest/webhooks/repos#delete-a-repository-webhook - */ - "DELETE /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "delete">; - /** - * @see https://docs.github.com/rest/migrations/source-imports#cancel-an-import - */ - "DELETE /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "delete">; - /** - * @see https://docs.github.com/rest/interactions/repos#remove-interaction-restrictions-for-a-repository - */ - "DELETE /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "delete">; - /** - * @see https://docs.github.com/rest/collaborators/invitations#delete-a-repository-invitation - */ - "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "delete">; - /** - * @see https://docs.github.com/rest/issues/comments#delete-an-issue-comment - */ - "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "delete">; - /** - * @see https://docs.github.com/rest/reactions/reactions#delete-an-issue-comment-reaction - */ - "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}", "delete">; - /** - * @see https://docs.github.com/rest/reference/issues#remove-assignees-from-an-issue - */ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "delete">; - /** - * @see https://docs.github.com/rest/issues/labels#remove-all-labels-from-an-issue - */ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "delete">; - /** - * @see https://docs.github.com/rest/issues/labels#remove-a-label-from-an-issue - */ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}", "delete">; - /** - * @see https://docs.github.com/rest/issues/issues#unlock-an-issue - */ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "delete">; - /** - * @see https://docs.github.com/rest/reactions/reactions#delete-an-issue-reaction - */ - "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}", "delete">; - /** - * @see https://docs.github.com/rest/deploy-keys/deploy-keys#delete-a-deploy-key - */ - "DELETE /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "delete">; - /** - * @see https://docs.github.com/rest/issues/labels#delete-a-label - */ - "DELETE /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "delete">; - /** - * @see https://docs.github.com/rest/issues/milestones#delete-a-milestone - */ - "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "delete">; - /** - * @see https://docs.github.com/rest/pages/pages#delete-a-apiname-pages-site - */ - "DELETE /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "delete">; - /** - * @see https://docs.github.com/rest/repos/repos#disable-private-vulnerability-reporting-for-a-repository - */ - "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting": Operation<"/repos/{owner}/{repo}/private-vulnerability-reporting", "delete">; - /** - * @see https://docs.github.com/rest/pulls/comments#delete-a-review-comment-for-a-pull-request - */ - "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "delete">; - /** - * @see https://docs.github.com/rest/reactions/reactions#delete-a-pull-request-comment-reaction - */ - "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}", "delete">; - /** - * @see https://docs.github.com/rest/pulls/review-requests#remove-requested-reviewers-from-a-pull-request - */ - "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "delete">; - /** - * @see https://docs.github.com/rest/pulls/reviews#delete-a-pending-review-for-a-pull-request - */ - "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "delete">; - /** - * @see https://docs.github.com/rest/releases/assets#delete-a-release-asset - */ - "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "delete">; - /** - * @see https://docs.github.com/rest/releases/releases#delete-a-release - */ - "DELETE /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "delete">; - /** - * @see https://docs.github.com/rest/reactions/reactions#delete-a-release-reaction - */ - "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}", "delete">; - /** - * @see https://docs.github.com/rest/repos/rules#delete-a-repository-ruleset - */ - "DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "delete">; - /** - * @see https://docs.github.com/rest/activity/watching#delete-a-repository-subscription - */ - "DELETE /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "delete">; - /** - * @see https://docs.github.com/rest/repos/tags#delete-a-tag-protection-state-for-a-repository - */ - "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}": Operation<"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}", "delete">; - /** - * @see https://docs.github.com/rest/repos/repos#disable-vulnerability-alerts - */ - "DELETE /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "delete">; - /** - * @see https://docs.github.com/rest/actions/secrets#delete-an-environment-secret - */ - "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "delete">; - /** - * @see https://docs.github.com/rest/actions/variables#delete-an-environment-variable - */ - "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "delete">; - /** - * @see https://docs.github.com/rest/teams/teams#delete-a-team-legacy - */ - "DELETE /teams/{team_id}": Operation<"/teams/{team_id}", "delete">; - /** - * @see https://docs.github.com/rest/teams/discussions#delete-a-discussion-legacy - */ - "DELETE /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "delete">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment-legacy - */ - "DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "delete">; - /** - * @see https://docs.github.com/rest/teams/members#remove-team-member-legacy - */ - "DELETE /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "delete">; - /** - * @see https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user-legacy - */ - "DELETE /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "delete">; - /** - * @see https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team-legacy - */ - "DELETE /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "delete">; - /** - * @see https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team-legacy - */ - "DELETE /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "delete">; - /** - * @see https://docs.github.com/rest/users/blocking#unblock-a-user - */ - "DELETE /user/blocks/{username}": Operation<"/user/blocks/{username}", "delete">; - /** - * @see https://docs.github.com/rest/codespaces/secrets#delete-a-secret-for-the-authenticated-user - */ - "DELETE /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "delete">; - /** - * @see https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret - */ - "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "delete">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#delete-a-codespace-for-the-authenticated-user - */ - "DELETE /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "delete">; - /** - * @see https://docs.github.com/rest/users/emails#delete-an-email-address-for-the-authenticated-user - */ - "DELETE /user/emails": Operation<"/user/emails", "delete">; - /** - * @see https://docs.github.com/rest/users/followers#unfollow-a-user - */ - "DELETE /user/following/{username}": Operation<"/user/following/{username}", "delete">; - /** - * @see https://docs.github.com/rest/users/gpg-keys#delete-a-gpg-key-for-the-authenticated-user - */ - "DELETE /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "delete">; - /** - * @see https://docs.github.com/rest/apps/installations#remove-a-repository-from-an-app-installation - */ - "DELETE /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "delete">; - /** - * @see https://docs.github.com/rest/interactions/user#remove-interaction-restrictions-from-your-public-repositories - */ - "DELETE /user/interaction-limits": Operation<"/user/interaction-limits", "delete">; - /** - * @see https://docs.github.com/rest/users/keys#delete-a-public-ssh-key-for-the-authenticated-user - */ - "DELETE /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "delete">; - /** - * @see https://docs.github.com/rest/migrations/users#delete-a-user-migration-archive - */ - "DELETE /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "delete">; - /** - * @see https://docs.github.com/rest/migrations/users#unlock-a-user-repository - */ - "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock": Operation<"/user/migrations/{migration_id}/repos/{repo_name}/lock", "delete">; - /** - * @see https://docs.github.com/rest/packages/packages#delete-a-package-for-the-authenticated-user - */ - "DELETE /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "delete">; - /** - * @see https://docs.github.com/rest/packages/packages#delete-a-package-version-for-the-authenticated-user - */ - "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; - /** - * @see https://docs.github.com/rest/collaborators/invitations#decline-a-repository-invitation - */ - "DELETE /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "delete">; - /** - * @see https://docs.github.com/rest/users/social-accounts#delete-social-accounts-for-the-authenticated-user - */ - "DELETE /user/social_accounts": Operation<"/user/social_accounts", "delete">; - /** - * @see https://docs.github.com/rest/users/ssh-signing-keys#delete-an-ssh-signing-key-for-the-authenticated-user - */ - "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}": Operation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "delete">; - /** - * @see https://docs.github.com/rest/activity/starring#unstar-a-repository-for-the-authenticated-user - */ - "DELETE /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "delete">; - /** - * @see https://docs.github.com/rest/packages/packages#delete-a-package-for-a-user - */ - "DELETE /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "delete">; - /** - * @see https://docs.github.com/rest/packages/packages#delete-package-version-for-a-user - */ - "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "delete">; - /** - * @see https://docs.github.com/rest/meta/meta#github-api-root - */ - "GET /": Operation<"/", "get">; - /** - * @see https://docs.github.com/rest/security-advisories/global-advisories#list-global-security-advisories - */ - "GET /advisories": Operation<"/advisories", "get">; - /** - * @see https://docs.github.com/rest/security-advisories/global-advisories#get-a-global-security-advisory - */ - "GET /advisories/{ghsa_id}": Operation<"/advisories/{ghsa_id}", "get">; - /** - * @see https://docs.github.com/rest/apps/apps#get-the-authenticated-app - */ - "GET /app": Operation<"/app", "get">; - /** - * @see https://docs.github.com/rest/apps/webhooks#get-a-webhook-configuration-for-an-app - */ - "GET /app/hook/config": Operation<"/app/hook/config", "get">; - /** - * @see https://docs.github.com/rest/apps/webhooks#list-deliveries-for-an-app-webhook - */ - "GET /app/hook/deliveries": Operation<"/app/hook/deliveries", "get">; - /** - * @see https://docs.github.com/rest/apps/webhooks#get-a-delivery-for-an-app-webhook - */ - "GET /app/hook/deliveries/{delivery_id}": Operation<"/app/hook/deliveries/{delivery_id}", "get">; - /** - * @see https://docs.github.com/rest/apps/apps#list-installation-requests-for-the-authenticated-app - */ - "GET /app/installation-requests": Operation<"/app/installation-requests", "get">; - /** - * @see https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-for-the-authenticated-app - */ - "GET /app/installations": Operation<"/app/installations", "get">; - /** - * @see https://docs.github.com/rest/apps/apps#get-an-installation-for-the-authenticated-app - */ - "GET /app/installations/{installation_id}": Operation<"/app/installations/{installation_id}", "get">; - /** - * @see https://docs.github.com/rest/apps/apps#get-an-app - */ - "GET /apps/{app_slug}": Operation<"/apps/{app_slug}", "get">; - /** - * @see https://docs.github.com/rest/classroom/classroom#get-an-assignment - */ - "GET /assignments/{assignment_id}": Operation<"/assignments/{assignment_id}", "get">; - /** - * @see https://docs.github.com/rest/classroom/classroom#list-accepted-assignments-for-an-assignment - */ - "GET /assignments/{assignment_id}/accepted_assignments": Operation<"/assignments/{assignment_id}/accepted_assignments", "get">; - /** - * @see https://docs.github.com/rest/classroom/classroom#get-assignment-grades - */ - "GET /assignments/{assignment_id}/grades": Operation<"/assignments/{assignment_id}/grades", "get">; - /** - * @see https://docs.github.com/rest/classroom/classroom#list-classrooms - */ - "GET /classrooms": Operation<"/classrooms", "get">; - /** - * @see https://docs.github.com/rest/classroom/classroom#get-a-classroom - */ - "GET /classrooms/{classroom_id}": Operation<"/classrooms/{classroom_id}", "get">; - /** - * @see https://docs.github.com/rest/classroom/classroom#list-assignments-for-a-classroom - */ - "GET /classrooms/{classroom_id}/assignments": Operation<"/classrooms/{classroom_id}/assignments", "get">; - /** - * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-all-codes-of-conduct - */ - "GET /codes_of_conduct": Operation<"/codes_of_conduct", "get">; - /** - * @see https://docs.github.com/rest/codes-of-conduct/codes-of-conduct#get-a-code-of-conduct - */ - "GET /codes_of_conduct/{key}": Operation<"/codes_of_conduct/{key}", "get">; - /** - * @see https://docs.github.com/rest/emojis/emojis#get-emojis - */ - "GET /emojis": Operation<"/emojis", "get">; - /** - * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-enterprise - */ - "GET /enterprises/{enterprise}/dependabot/alerts": Operation<"/enterprises/{enterprise}/dependabot/alerts", "get">; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-enterprise - */ - "GET /enterprises/{enterprise}/secret-scanning/alerts": Operation<"/enterprises/{enterprise}/secret-scanning/alerts", "get">; - /** - * @see https://docs.github.com/rest/activity/events#list-public-events - */ - "GET /events": Operation<"/events", "get">; - /** - * @see https://docs.github.com/rest/activity/feeds#get-feeds - */ - "GET /feeds": Operation<"/feeds", "get">; - /** - * @see https://docs.github.com/rest/gists/gists#list-gists-for-the-authenticated-user - */ - "GET /gists": Operation<"/gists", "get">; - /** - * @see https://docs.github.com/rest/gists/gists#list-public-gists - */ - "GET /gists/public": Operation<"/gists/public", "get">; - /** - * @see https://docs.github.com/rest/gists/gists#list-starred-gists - */ - "GET /gists/starred": Operation<"/gists/starred", "get">; - /** - * @see https://docs.github.com/rest/gists/gists#get-a-gist - */ - "GET /gists/{gist_id}": Operation<"/gists/{gist_id}", "get">; - /** - * @see https://docs.github.com/rest/gists/comments#list-gist-comments - */ - "GET /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "get">; - /** - * @see https://docs.github.com/rest/gists/comments#get-a-gist-comment - */ - "GET /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "get">; - /** - * @see https://docs.github.com/rest/gists/gists#list-gist-commits - */ - "GET /gists/{gist_id}/commits": Operation<"/gists/{gist_id}/commits", "get">; - /** - * @see https://docs.github.com/rest/gists/gists#list-gist-forks - */ - "GET /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "get">; - /** - * @see https://docs.github.com/rest/gists/gists#check-if-a-gist-is-starred - */ - "GET /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "get">; - /** - * @see https://docs.github.com/rest/gists/gists#get-a-gist-revision - */ - "GET /gists/{gist_id}/{sha}": Operation<"/gists/{gist_id}/{sha}", "get">; - /** - * @see https://docs.github.com/rest/gitignore/gitignore#get-all-gitignore-templates - */ - "GET /gitignore/templates": Operation<"/gitignore/templates", "get">; - /** - * @see https://docs.github.com/rest/gitignore/gitignore#get-a-gitignore-template - */ - "GET /gitignore/templates/{name}": Operation<"/gitignore/templates/{name}", "get">; - /** - * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-app-installation - */ - "GET /installation/repositories": Operation<"/installation/repositories", "get">; - /** - * @see https://docs.github.com/rest/issues/issues#list-issues-assigned-to-the-authenticated-user - */ - "GET /issues": Operation<"/issues", "get">; - /** - * @see https://docs.github.com/rest/licenses/licenses#get-all-commonly-used-licenses - */ - "GET /licenses": Operation<"/licenses", "get">; - /** - * @see https://docs.github.com/rest/licenses/licenses#get-a-license - */ - "GET /licenses/{license}": Operation<"/licenses/{license}", "get">; - /** - * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account - */ - "GET /marketplace_listing/accounts/{account_id}": Operation<"/marketplace_listing/accounts/{account_id}", "get">; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-plans - */ - "GET /marketplace_listing/plans": Operation<"/marketplace_listing/plans", "get">; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan - */ - "GET /marketplace_listing/plans/{plan_id}/accounts": Operation<"/marketplace_listing/plans/{plan_id}/accounts", "get">; - /** - * @see https://docs.github.com/rest/apps/marketplace#get-a-subscription-plan-for-an-account-stubbed - */ - "GET /marketplace_listing/stubbed/accounts/{account_id}": Operation<"/marketplace_listing/stubbed/accounts/{account_id}", "get">; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-plans-stubbed - */ - "GET /marketplace_listing/stubbed/plans": Operation<"/marketplace_listing/stubbed/plans", "get">; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-accounts-for-a-plan-stubbed - */ - "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts": Operation<"/marketplace_listing/stubbed/plans/{plan_id}/accounts", "get">; - /** - * @see https://docs.github.com/rest/meta/meta#get-apiname-meta-information - */ - "GET /meta": Operation<"/meta", "get">; - /** - * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-network-of-repositories - */ - "GET /networks/{owner}/{repo}/events": Operation<"/networks/{owner}/{repo}/events", "get">; - /** - * @see https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user - */ - "GET /notifications": Operation<"/notifications", "get">; - /** - * @see https://docs.github.com/rest/activity/notifications#get-a-thread - */ - "GET /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "get">; - /** - * @see https://docs.github.com/rest/activity/notifications#get-a-thread-subscription-for-the-authenticated-user - */ - "GET /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "get">; - /** - * @see https://docs.github.com/rest/meta/meta#get-octocat - */ - "GET /octocat": Operation<"/octocat", "get">; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-organizations - */ - "GET /organizations": Operation<"/organizations", "get">; - /** - * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization - * @deprecated "org_id" is now "org" - */ - "GET /orgs/{org_id}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; - /** - * @see https://docs.github.com/rest/orgs/orgs#get-an-organization - */ - "GET /orgs/{org}": Operation<"/orgs/{org}", "get">; - /** - * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-an-organization - */ - "GET /orgs/{org}/actions/cache/usage": Operation<"/orgs/{org}/actions/cache/usage", "get">; - /** - * @see https://docs.github.com/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization - */ - "GET /orgs/{org}/actions/cache/usage-by-repository": Operation<"/orgs/{org}/actions/cache/usage-by-repository", "get">; - /** - * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization - */ - "GET /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "get">; - /** - * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-an-organization - */ - "GET /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "get">; - /** - * @see https://docs.github.com/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization - */ - "GET /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "get">; - /** - * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-an-organization - */ - "GET /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "get">; - /** - * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-an-organization - */ - "GET /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "get">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization - */ - "GET /orgs/{org}/actions/runners": Operation<"/orgs/{org}/actions/runners", "get">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-an-organization - */ - "GET /orgs/{org}/actions/runners/downloads": Operation<"/orgs/{org}/actions/runners/downloads", "get">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-an-organization - */ - "GET /orgs/{org}/actions/runners/{runner_id}": Operation<"/orgs/{org}/actions/runners/{runner_id}", "get">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-an-organization - */ - "GET /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#list-organization-secrets - */ - "GET /orgs/{org}/actions/secrets": Operation<"/orgs/{org}/actions/secrets", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#get-an-organization-public-key - */ - "GET /orgs/{org}/actions/secrets/public-key": Operation<"/orgs/{org}/actions/secrets/public-key", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#get-an-organization-secret - */ - "GET /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret - */ - "GET /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "get">; - /** - * @see https://docs.github.com/rest/actions/variables#list-organization-variables - */ - "GET /orgs/{org}/actions/variables": Operation<"/orgs/{org}/actions/variables", "get">; - /** - * @see https://docs.github.com/rest/actions/variables#get-an-organization-variable - */ - "GET /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "get">; - /** - * @see https://docs.github.com/rest/actions/variables#list-selected-repositories-for-an-organization-variable - */ - "GET /orgs/{org}/actions/variables/{name}/repositories": Operation<"/orgs/{org}/actions/variables/{name}/repositories", "get">; - /** - * @see https://docs.github.com/rest/orgs/blocking#list-users-blocked-by-an-organization - */ - "GET /orgs/{org}/blocks": Operation<"/orgs/{org}/blocks", "get">; - /** - * @see https://docs.github.com/rest/orgs/blocking#check-if-a-user-is-blocked-by-an-organization - */ - "GET /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-alerts-for-an-organization - */ - "GET /orgs/{org}/code-scanning/alerts": Operation<"/orgs/{org}/code-scanning/alerts", "get">; - /** - * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-the-organization - */ - "GET /orgs/{org}/codespaces": Operation<"/orgs/{org}/codespaces", "get">; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#list-organization-secrets - */ - "GET /orgs/{org}/codespaces/secrets": Operation<"/orgs/{org}/codespaces/secrets", "get">; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key - */ - "GET /orgs/{org}/codespaces/secrets/public-key": Operation<"/orgs/{org}/codespaces/secrets/public-key", "get">; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-secret - */ - "GET /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "get">; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret - */ - "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories", "get">; - /** - * @see https://docs.github.com/rest/copilot/copilot-for-business#get-copilot-for-business-seat-information-and-settings-for-an-organization - */ - "GET /orgs/{org}/copilot/billing": Operation<"/orgs/{org}/copilot/billing", "get">; - /** - * @see https://docs.github.com/rest/copilot/copilot-for-business#list-all-copilot-for-business-seat-assignments-for-an-organization - */ - "GET /orgs/{org}/copilot/billing/seats": Operation<"/orgs/{org}/copilot/billing/seats", "get">; - /** - * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-an-organization - */ - "GET /orgs/{org}/dependabot/alerts": Operation<"/orgs/{org}/dependabot/alerts", "get">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#list-organization-secrets - */ - "GET /orgs/{org}/dependabot/secrets": Operation<"/orgs/{org}/dependabot/secrets", "get">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key - */ - "GET /orgs/{org}/dependabot/secrets/public-key": Operation<"/orgs/{org}/dependabot/secrets/public-key", "get">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#get-an-organization-secret - */ - "GET /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "get">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret - */ - "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-organization - */ - "GET /orgs/{org}/docker/conflicts": Operation<"/orgs/{org}/docker/conflicts", "get">; - /** - * @see https://docs.github.com/rest/activity/events#list-public-organization-events - */ - "GET /orgs/{org}/events": Operation<"/orgs/{org}/events", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#list-failed-organization-invitations - */ - "GET /orgs/{org}/failed_invitations": Operation<"/orgs/{org}/failed_invitations", "get">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#list-organization-webhooks - */ - "GET /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "get">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#get-an-organization-webhook - */ - "GET /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "get">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization - */ - "GET /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "get">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook - */ - "GET /orgs/{org}/hooks/{hook_id}/deliveries": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries", "get">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#get-a-webhook-delivery-for-an-organization-webhook - */ - "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; - /** - * @see https://docs.github.com/rest/apps/apps#get-an-organization-installation-for-the-authenticated-app - */ - "GET /orgs/{org}/installation": Operation<"/orgs/{org}/installation", "get">; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-app-installations-for-an-organization - */ - "GET /orgs/{org}/installations": Operation<"/orgs/{org}/installations", "get">; - /** - * @see https://docs.github.com/rest/interactions/orgs#get-interaction-restrictions-for-an-organization - */ - "GET /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#list-pending-organization-invitations - */ - "GET /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#list-organization-invitation-teams - */ - "GET /orgs/{org}/invitations/{invitation_id}/teams": Operation<"/orgs/{org}/invitations/{invitation_id}/teams", "get">; - /** - * @see https://docs.github.com/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user - */ - "GET /orgs/{org}/issues": Operation<"/orgs/{org}/issues", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#list-organization-members - */ - "GET /orgs/{org}/members": Operation<"/orgs/{org}/members", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#check-organization-membership-for-a-user - */ - "GET /orgs/{org}/members/{username}": Operation<"/orgs/{org}/members/{username}", "get">; - /** - * @see https://docs.github.com/rest/codespaces/organizations#list-codespaces-for-a-user-in-organization - */ - "GET /orgs/{org}/members/{username}/codespaces": Operation<"/orgs/{org}/members/{username}/codespaces", "get">; - /** - * @see https://docs.github.com/rest/copilot/copilot-for-business#get-copilot-for-business-seat-assignment-details-for-a-user - */ - "GET /orgs/{org}/members/{username}/copilot": Operation<"/orgs/{org}/members/{username}/copilot", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user - */ - "GET /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "get">; - /** - * @see https://docs.github.com/rest/migrations/orgs#list-organization-migrations - */ - "GET /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "get">; - /** - * @see https://docs.github.com/rest/migrations/orgs#get-an-organization-migration-status - */ - "GET /orgs/{org}/migrations/{migration_id}": Operation<"/orgs/{org}/migrations/{migration_id}", "get">; - /** - * @see https://docs.github.com/rest/migrations/orgs#download-an-organization-migration-archive - */ - "GET /orgs/{org}/migrations/{migration_id}/archive": Operation<"/orgs/{org}/migrations/{migration_id}/archive", "get">; - /** - * @see https://docs.github.com/rest/migrations/orgs#list-repositories-in-an-organization-migration - */ - "GET /orgs/{org}/migrations/{migration_id}/repositories": Operation<"/orgs/{org}/migrations/{migration_id}/repositories", "get">; - /** - * @see https://docs.github.com/rest/orgs/outside-collaborators#list-outside-collaborators-for-an-organization - */ - "GET /orgs/{org}/outside_collaborators": Operation<"/orgs/{org}/outside_collaborators", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#list-packages-for-an-organization - */ - "GET /orgs/{org}/packages": Operation<"/orgs/{org}/packages", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#get-a-package-for-an-organization - */ - "GET /orgs/{org}/packages/{package_type}/{package_name}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-an-organization - */ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-an-organization - */ - "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens - */ - "GET /orgs/{org}/personal-access-token-requests": Operation<"/orgs/{org}/personal-access-token-requests", "get">; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-requested-to-be-accessed-by-a-fine-grained-personal-access-token - */ - "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": Operation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories", "get">; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-fine-grained-personal-access-tokens-with-access-to-organization-resources - */ - "GET /orgs/{org}/personal-access-tokens": Operation<"/orgs/{org}/personal-access-tokens", "get">; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#list-repositories-a-fine-grained-personal-access-token-has-access-to - */ - "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories": Operation<"/orgs/{org}/personal-access-tokens/{pat_id}/repositories", "get">; - /** - * @see https://docs.github.com/rest/projects/projects#list-organization-projects - */ - "GET /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#list-public-organization-members - */ - "GET /orgs/{org}/public_members": Operation<"/orgs/{org}/public_members", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#check-public-organization-membership-for-a-user - */ - "GET /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-organization-repositories - */ - "GET /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "get">; - /** - * @see https://docs.github.com/rest/orgs/rules#get-all-organization-repository-rulesets - */ - "GET /orgs/{org}/rulesets": Operation<"/orgs/{org}/rulesets", "get">; - /** - * @see https://docs.github.com/rest/orgs/rules#get-an-organization-repository-ruleset - */ - "GET /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "get">; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-an-organization - */ - "GET /orgs/{org}/secret-scanning/alerts": Operation<"/orgs/{org}/secret-scanning/alerts", "get">; - /** - * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories-for-an-organization - */ - "GET /orgs/{org}/security-advisories": Operation<"/orgs/{org}/security-advisories", "get">; - /** - * @see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams - */ - "GET /orgs/{org}/security-managers": Operation<"/orgs/{org}/security-managers", "get">; - /** - * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-an-organization - */ - "GET /orgs/{org}/settings/billing/actions": Operation<"/orgs/{org}/settings/billing/actions", "get">; - /** - * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-an-organization - */ - "GET /orgs/{org}/settings/billing/packages": Operation<"/orgs/{org}/settings/billing/packages", "get">; - /** - * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-an-organization - */ - "GET /orgs/{org}/settings/billing/shared-storage": Operation<"/orgs/{org}/settings/billing/shared-storage", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#list-teams - */ - "GET /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#get-a-team-by-name - */ - "GET /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "get">; - /** - * @see https://docs.github.com/rest/teams/discussions#list-discussions - */ - "GET /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "get">; - /** - * @see https://docs.github.com/rest/teams/discussions#get-a-discussion - */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "get">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments - */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "get">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment - */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "get">; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment - */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion - */ - "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "get">; - /** - * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations - */ - "GET /orgs/{org}/teams/{team_slug}/invitations": Operation<"/orgs/{org}/teams/{team_slug}/invitations", "get">; - /** - * @see https://docs.github.com/rest/teams/members#list-team-members - */ - "GET /orgs/{org}/teams/{team_slug}/members": Operation<"/orgs/{org}/teams/{team_slug}/members", "get">; - /** - * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user - */ - "GET /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#list-team-projects - */ - "GET /orgs/{org}/teams/{team_slug}/projects": Operation<"/orgs/{org}/teams/{team_slug}/projects", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project - */ - "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#list-team-repositories - */ - "GET /orgs/{org}/teams/{team_slug}/repos": Operation<"/orgs/{org}/teams/{team_slug}/repos", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository - */ - "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#list-child-teams - */ - "GET /orgs/{org}/teams/{team_slug}/teams": Operation<"/orgs/{org}/teams/{team_slug}/teams", "get">; - /** - * @see https://docs.github.com/rest/projects/cards#get-a-project-card - */ - "GET /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "get">; - /** - * @see https://docs.github.com/rest/projects/columns#get-a-project-column - */ - "GET /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "get">; - /** - * @see https://docs.github.com/rest/projects/cards#list-project-cards - */ - "GET /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "get">; - /** - * @see https://docs.github.com/rest/projects/projects#get-a-project - */ - "GET /projects/{project_id}": Operation<"/projects/{project_id}", "get">; - /** - * @see https://docs.github.com/rest/projects/collaborators#list-project-collaborators - */ - "GET /projects/{project_id}/collaborators": Operation<"/projects/{project_id}/collaborators", "get">; - /** - * @see https://docs.github.com/rest/projects/collaborators#get-project-permission-for-a-user - */ - "GET /projects/{project_id}/collaborators/{username}/permission": Operation<"/projects/{project_id}/collaborators/{username}/permission", "get">; - /** - * @see https://docs.github.com/rest/projects/columns#list-project-columns - */ - "GET /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "get">; - /** - * @see https://docs.github.com/rest/rate-limit/rate-limit#get-rate-limit-status-for-the-authenticated-user - */ - "GET /rate_limit": Operation<"/rate_limit", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#get-a-repository - */ - "GET /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "get">; - /** - * @see https://docs.github.com/rest/actions/artifacts#list-artifacts-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/artifacts": Operation<"/repos/{owner}/{repo}/actions/artifacts", "get">; - /** - * @see https://docs.github.com/rest/actions/artifacts#get-an-artifact - */ - "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}", "get">; - /** - * @see https://docs.github.com/rest/actions/artifacts#download-an-artifact - */ - "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": Operation<"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}", "get">; - /** - * @see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/cache/usage": Operation<"/repos/{owner}/{repo}/actions/cache/usage", "get">; - /** - * @see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/caches": Operation<"/repos/{owner}/{repo}/actions/caches", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run - */ - "GET /repos/{owner}/{repo}/actions/jobs/{job_id}": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run - */ - "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs", "get">; - /** - * @see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#list-repository-organization-secrets - */ - "GET /repos/{owner}/{repo}/actions/organization-secrets": Operation<"/repos/{owner}/{repo}/actions/organization-secrets", "get">; - /** - * @see https://docs.github.com/rest/actions/variables#list-repository-organization-variables - */ - "GET /repos/{owner}/{repo}/actions/organization-variables": Operation<"/repos/{owner}/{repo}/actions/organization-variables", "get">; - /** - * @see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "get">; - /** - * @see https://docs.github.com/rest/actions/permissions#get-the-level-of-access-for-workflows-outside-of-the-repository - */ - "GET /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "get">; - /** - * @see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "get">; - /** - * @see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "get">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/runners": Operation<"/repos/{owner}/{repo}/actions/runners", "get">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/runners/downloads": Operation<"/repos/{owner}/{repo}/actions/runners/downloads", "get">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/runners/{runner_id}": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}", "get">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository - */ - "GET /repos/{owner}/{repo}/actions/runs": Operation<"/repos/{owner}/{repo}/actions/runs", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#get-the-review-history-for-a-workflow-run - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals", "get">; - /** - * @see https://docs.github.com/rest/actions/artifacts#list-workflow-run-artifacts - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run-attempt - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-attempt-logs - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-logs - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/logs", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#get-pending-deployments-for-a-workflow-run - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#get-workflow-run-usage - */ - "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/timing", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#list-repository-secrets - */ - "GET /repos/{owner}/{repo}/actions/secrets": Operation<"/repos/{owner}/{repo}/actions/secrets", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#get-a-repository-public-key - */ - "GET /repos/{owner}/{repo}/actions/secrets/public-key": Operation<"/repos/{owner}/{repo}/actions/secrets/public-key", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#get-a-repository-secret - */ - "GET /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "get">; - /** - * @see https://docs.github.com/rest/actions/variables#list-repository-variables - */ - "GET /repos/{owner}/{repo}/actions/variables": Operation<"/repos/{owner}/{repo}/actions/variables", "get">; - /** - * @see https://docs.github.com/rest/actions/variables#get-a-repository-variable - */ - "GET /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "get">; - /** - * @see https://docs.github.com/rest/actions/workflows#list-repository-workflows - */ - "GET /repos/{owner}/{repo}/actions/workflows": Operation<"/repos/{owner}/{repo}/actions/workflows", "get">; - /** - * @see https://docs.github.com/rest/actions/workflows#get-a-workflow - */ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}", "get">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow - */ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs", "get">; - /** - * @see https://docs.github.com/rest/actions/workflows#get-workflow-usage - */ - "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-repository-activities - */ - "GET /repos/{owner}/{repo}/activity": Operation<"/repos/{owner}/{repo}/activity", "get">; - /** - * @see https://docs.github.com/rest/issues/assignees#list-assignees - */ - "GET /repos/{owner}/{repo}/assignees": Operation<"/repos/{owner}/{repo}/assignees", "get">; - /** - * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned - */ - "GET /repos/{owner}/{repo}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/assignees/{assignee}", "get">; - /** - * @see https://docs.github.com/rest/repos/autolinks#list-all-autolinks-of-a-repository - */ - "GET /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "get">; - /** - * @see https://docs.github.com/rest/repos/autolinks#get-an-autolink-reference-of-a-repository - */ - "GET /repos/{owner}/{repo}/autolinks/{autolink_id}": Operation<"/repos/{owner}/{repo}/autolinks/{autolink_id}", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#check-if-automated-security-fixes-are-enabled-for-a-repository - */ - "GET /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "get">; - /** - * @see https://docs.github.com/rest/branches/branches#list-branches - */ - "GET /repos/{owner}/{repo}/branches": Operation<"/repos/{owner}/{repo}/branches", "get">; - /** - * @see https://docs.github.com/rest/branches/branches#get-a-branch - */ - "GET /repos/{owner}/{repo}/branches/{branch}": Operation<"/repos/{owner}/{repo}/branches/{branch}", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-branch-protection - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-admin-branch-protection - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-pull-request-review-protection - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-commit-signature-protection - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-status-checks-protection - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-all-status-check-contexts - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-access-restrictions - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-apps-with-access-to-the-protected-branch - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-teams-with-access-to-the-protected-branch - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "get">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#get-users-with-access-to-the-protected-branch - */ - "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "get">; - /** - * @see https://docs.github.com/rest/checks/runs#get-a-check-run - */ - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "get">; - /** - * @see https://docs.github.com/rest/checks/runs#list-check-run-annotations - */ - "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations", "get">; - /** - * @see https://docs.github.com/rest/checks/suites#get-a-check-suite - */ - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}", "get">; - /** - * @see https://docs.github.com/rest/checks/runs#list-check-runs-in-a-check-suite - */ - "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs", "get">; - /** - * @see https://docs.github.com/rest/reference/code-scanning#list-code-scanning-alerts-for-a-repository - */ - "GET /repos/{owner}/{repo}/code-scanning/alerts": Operation<"/repos/{owner}/{repo}/code-scanning/alerts", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert - * @deprecated "alert_id" is now "alert_number" - */ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_id}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-alert - */ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#list-instances-of-a-code-scanning-alert - */ - "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#list-code-scanning-analyses-for-a-repository - */ - "GET /repos/{owner}/{repo}/code-scanning/analyses": Operation<"/repos/{owner}/{repo}/code-scanning/analyses", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository - */ - "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": Operation<"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#list-codeql-databases-for-a-repository - */ - "GET /repos/{owner}/{repo}/code-scanning/codeql/databases": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-codeql-database-for-a-repository - */ - "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": Operation<"/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#get-a-code-scanning-default-setup-configuration - */ - "GET /repos/{owner}/{repo}/code-scanning/default-setup": Operation<"/repos/{owner}/{repo}/code-scanning/default-setup", "get">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload - */ - "GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-codeowners-errors - */ - "GET /repos/{owner}/{repo}/codeowners/errors": Operation<"/repos/{owner}/{repo}/codeowners/errors", "get">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-in-a-repository-for-the-authenticated-user - */ - "GET /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "get">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#list-devcontainer-configurations-in-a-repository-for-the-authenticated-user - */ - "GET /repos/{owner}/{repo}/codespaces/devcontainers": Operation<"/repos/{owner}/{repo}/codespaces/devcontainers", "get">; - /** - * @see https://docs.github.com/rest/codespaces/machines#list-available-machine-types-for-a-repository - */ - "GET /repos/{owner}/{repo}/codespaces/machines": Operation<"/repos/{owner}/{repo}/codespaces/machines", "get">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#get-default-attributes-for-a-codespace - */ - "GET /repos/{owner}/{repo}/codespaces/new": Operation<"/repos/{owner}/{repo}/codespaces/new", "get">; - /** - * @see https://docs.github.com/rest/codespaces/repository-secrets#list-repository-secrets - */ - "GET /repos/{owner}/{repo}/codespaces/secrets": Operation<"/repos/{owner}/{repo}/codespaces/secrets", "get">; - /** - * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key - */ - "GET /repos/{owner}/{repo}/codespaces/secrets/public-key": Operation<"/repos/{owner}/{repo}/codespaces/secrets/public-key", "get">; - /** - * @see https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-secret - */ - "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "get">; - /** - * @see https://docs.github.com/rest/collaborators/collaborators#list-repository-collaborators - */ - "GET /repos/{owner}/{repo}/collaborators": Operation<"/repos/{owner}/{repo}/collaborators", "get">; - /** - * @see https://docs.github.com/rest/collaborators/collaborators#check-if-a-user-is-a-repository-collaborator - */ - "GET /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "get">; - /** - * @see https://docs.github.com/rest/collaborators/collaborators#get-repository-permissions-for-a-user - */ - "GET /repos/{owner}/{repo}/collaborators/{username}/permission": Operation<"/repos/{owner}/{repo}/collaborators/{username}/permission", "get">; - /** - * @see https://docs.github.com/rest/commits/comments#list-commit-comments-for-a-repository - */ - "GET /repos/{owner}/{repo}/comments": Operation<"/repos/{owner}/{repo}/comments", "get">; - /** - * @see https://docs.github.com/rest/commits/comments#get-a-commit-comment - */ - "GET /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "get">; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-commit-comment - */ - "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "get">; - /** - * @see https://docs.github.com/rest/commits/commits#list-commits - */ - "GET /repos/{owner}/{repo}/commits": Operation<"/repos/{owner}/{repo}/commits", "get">; - /** - * @see https://docs.github.com/rest/commits/commits#list-branches-for-head-commit - */ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head", "get">; - /** - * @see https://docs.github.com/rest/commits/comments#list-commit-comments - */ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "get">; - /** - * @see https://docs.github.com/rest/commits/commits#list-pull-requests-associated-with-a-commit - */ - "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/pulls", "get">; - /** - * @see https://docs.github.com/rest/commits/commits#get-a-commit - */ - "GET /repos/{owner}/{repo}/commits/{ref}": Operation<"/repos/{owner}/{repo}/commits/{ref}", "get">; - /** - * @see https://docs.github.com/rest/checks/runs#list-check-runs-for-a-git-reference - */ - "GET /repos/{owner}/{repo}/commits/{ref}/check-runs": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-runs", "get">; - /** - * @see https://docs.github.com/rest/checks/suites#list-check-suites-for-a-git-reference - */ - "GET /repos/{owner}/{repo}/commits/{ref}/check-suites": Operation<"/repos/{owner}/{repo}/commits/{ref}/check-suites", "get">; - /** - * @see https://docs.github.com/rest/commits/statuses#get-the-combined-status-for-a-specific-reference - */ - "GET /repos/{owner}/{repo}/commits/{ref}/status": Operation<"/repos/{owner}/{repo}/commits/{ref}/status", "get">; - /** - * @see https://docs.github.com/rest/commits/statuses#list-commit-statuses-for-a-reference - */ - "GET /repos/{owner}/{repo}/commits/{ref}/statuses": Operation<"/repos/{owner}/{repo}/commits/{ref}/statuses", "get">; - /** - * @see https://docs.github.com/rest/metrics/community#get-community-profile-metrics - */ - "GET /repos/{owner}/{repo}/community/profile": Operation<"/repos/{owner}/{repo}/community/profile", "get">; - /** - * @see https://docs.github.com/rest/commits/commits#compare-two-commits - */ - "GET /repos/{owner}/{repo}/compare/{basehead}": Operation<"/repos/{owner}/{repo}/compare/{basehead}", "get">; - /** - * @see https://docs.github.com/rest/reference/repos#compare-two-commits - */ - "GET /repos/{owner}/{repo}/compare/{base}...{head}": Operation<"/repos/{owner}/{repo}/compare/{base}...{head}", "get">; - /** - * @see https://docs.github.com/rest/repos/contents#get-repository-content - */ - "GET /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-repository-contributors - */ - "GET /repos/{owner}/{repo}/contributors": Operation<"/repos/{owner}/{repo}/contributors", "get">; - /** - * @see https://docs.github.com/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository - */ - "GET /repos/{owner}/{repo}/dependabot/alerts": Operation<"/repos/{owner}/{repo}/dependabot/alerts", "get">; - /** - * @see https://docs.github.com/rest/dependabot/alerts#get-a-dependabot-alert - */ - "GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "get">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#list-repository-secrets - */ - "GET /repos/{owner}/{repo}/dependabot/secrets": Operation<"/repos/{owner}/{repo}/dependabot/secrets", "get">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key - */ - "GET /repos/{owner}/{repo}/dependabot/secrets/public-key": Operation<"/repos/{owner}/{repo}/dependabot/secrets/public-key", "get">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#get-a-repository-secret - */ - "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "get">; - /** - * @see https://docs.github.com/rest/dependency-graph/dependency-review#get-a-diff-of-the-dependencies-between-commits - */ - "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}": Operation<"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}", "get">; - /** - * @see https://docs.github.com/rest/dependency-graph/sboms#export-a-software-bill-of-materials-sbom-for-a-repository - */ - "GET /repos/{owner}/{repo}/dependency-graph/sbom": Operation<"/repos/{owner}/{repo}/dependency-graph/sbom", "get">; - /** - * @see https://docs.github.com/rest/deployments/deployments#list-deployments - */ - "GET /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "get">; - /** - * @see https://docs.github.com/rest/deployments/deployments#get-a-deployment - */ - "GET /repos/{owner}/{repo}/deployments/{deployment_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}", "get">; - /** - * @see https://docs.github.com/rest/deployments/statuses#list-deployment-statuses - */ - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "get">; - /** - * @see https://docs.github.com/rest/deployments/statuses#get-a-deployment-status - */ - "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}", "get">; - /** - * @see https://docs.github.com/rest/deployments/environments#list-environments - */ - "GET /repos/{owner}/{repo}/environments": Operation<"/repos/{owner}/{repo}/environments", "get">; - /** - * @see https://docs.github.com/rest/deployments/environments#get-an-environment - */ - "GET /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "get">; - /** - * @see https://docs.github.com/rest/deployments/branch-policies#list-deployment-branch-policies - */ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "get">; - /** - * @see https://docs.github.com/rest/deployments/branch-policies#get-a-deployment-branch-policy - */ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "get">; - /** - * @see https://docs.github.com/rest/deployments/protection-rules#get-all-deployment-protection-rules-for-an-environment - */ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules", "get">; - /** - * @see https://docs.github.com/rest/deployments/protection-rules#list-custom-deployment-rule-integrations-available-for-an-environment - */ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps", "get">; - /** - * @see https://docs.github.com/rest/deployments/protection-rules#get-a-custom-deployment-protection-rule - */ - "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}", "get">; - /** - * @see https://docs.github.com/rest/activity/events#list-repository-events - */ - "GET /repos/{owner}/{repo}/events": Operation<"/repos/{owner}/{repo}/events", "get">; - /** - * @see https://docs.github.com/rest/repos/forks#list-forks - */ - "GET /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "get">; - /** - * @see https://docs.github.com/rest/git/blobs#get-a-blob - */ - "GET /repos/{owner}/{repo}/git/blobs/{file_sha}": Operation<"/repos/{owner}/{repo}/git/blobs/{file_sha}", "get">; - /** - * @see https://docs.github.com/rest/git/commits#get-a-commit-object - */ - "GET /repos/{owner}/{repo}/git/commits/{commit_sha}": Operation<"/repos/{owner}/{repo}/git/commits/{commit_sha}", "get">; - /** - * @see https://docs.github.com/rest/git/refs#list-matching-references - */ - "GET /repos/{owner}/{repo}/git/matching-refs/{ref}": Operation<"/repos/{owner}/{repo}/git/matching-refs/{ref}", "get">; - /** - * @see https://docs.github.com/rest/git/refs#get-a-reference - */ - "GET /repos/{owner}/{repo}/git/ref/{ref}": Operation<"/repos/{owner}/{repo}/git/ref/{ref}", "get">; - /** - * @see https://docs.github.com/rest/git/tags#get-a-tag - */ - "GET /repos/{owner}/{repo}/git/tags/{tag_sha}": Operation<"/repos/{owner}/{repo}/git/tags/{tag_sha}", "get">; - /** - * @see https://docs.github.com/rest/git/trees#get-a-tree - */ - "GET /repos/{owner}/{repo}/git/trees/{tree_sha}": Operation<"/repos/{owner}/{repo}/git/trees/{tree_sha}", "get">; - /** - * @see https://docs.github.com/rest/webhooks/repos#list-repository-webhooks - */ - "GET /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "get">; - /** - * @see https://docs.github.com/rest/webhooks/repos#get-a-repository-webhook - */ - "GET /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "get">; - /** - * @see https://docs.github.com/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository - */ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "get">; - /** - * @see https://docs.github.com/rest/webhooks/repo-deliveries#list-deliveries-for-a-repository-webhook - */ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries", "get">; - /** - * @see https://docs.github.com/rest/webhooks/repo-deliveries#get-a-delivery-for-a-repository-webhook - */ - "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}", "get">; - /** - * @see https://docs.github.com/rest/migrations/source-imports#get-an-import-status - */ - "GET /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "get">; - /** - * @see https://docs.github.com/rest/migrations/source-imports#get-commit-authors - */ - "GET /repos/{owner}/{repo}/import/authors": Operation<"/repos/{owner}/{repo}/import/authors", "get">; - /** - * @see https://docs.github.com/rest/migrations/source-imports#get-large-files - */ - "GET /repos/{owner}/{repo}/import/large_files": Operation<"/repos/{owner}/{repo}/import/large_files", "get">; - /** - * @see https://docs.github.com/rest/apps/apps#get-a-repository-installation-for-the-authenticated-app - */ - "GET /repos/{owner}/{repo}/installation": Operation<"/repos/{owner}/{repo}/installation", "get">; - /** - * @see https://docs.github.com/rest/interactions/repos#get-interaction-restrictions-for-a-repository - */ - "GET /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "get">; - /** - * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations - */ - "GET /repos/{owner}/{repo}/invitations": Operation<"/repos/{owner}/{repo}/invitations", "get">; - /** - * @see https://docs.github.com/rest/issues/issues#list-repository-issues - */ - "GET /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "get">; - /** - * @see https://docs.github.com/rest/issues/comments#list-issue-comments-for-a-repository - */ - "GET /repos/{owner}/{repo}/issues/comments": Operation<"/repos/{owner}/{repo}/issues/comments", "get">; - /** - * @see https://docs.github.com/rest/issues/comments#get-an-issue-comment - */ - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "get">; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue-comment - */ - "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "get">; - /** - * @see https://docs.github.com/rest/issues/events#list-issue-events-for-a-repository - */ - "GET /repos/{owner}/{repo}/issues/events": Operation<"/repos/{owner}/{repo}/issues/events", "get">; - /** - * @see https://docs.github.com/rest/issues/events#get-an-issue-event - */ - "GET /repos/{owner}/{repo}/issues/events/{event_id}": Operation<"/repos/{owner}/{repo}/issues/events/{event_id}", "get">; - /** - * @see https://docs.github.com/rest/issues/issues#get-an-issue - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "get">; - /** - * @see https://docs.github.com/rest/issues/assignees#check-if-a-user-can-be-assigned-to-a-issue - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}", "get">; - /** - * @see https://docs.github.com/rest/issues/comments#list-issue-comments - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "get">; - /** - * @see https://docs.github.com/rest/issues/events#list-issue-events - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/events": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/events", "get">; - /** - * @see https://docs.github.com/rest/issues/labels#list-labels-for-an-issue - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "get">; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "get">; - /** - * @see https://docs.github.com/rest/issues/timeline#list-timeline-events-for-an-issue - */ - "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/timeline", "get">; - /** - * @see https://docs.github.com/rest/deploy-keys/deploy-keys#list-deploy-keys - */ - "GET /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "get">; - /** - * @see https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key - */ - "GET /repos/{owner}/{repo}/keys/{key_id}": Operation<"/repos/{owner}/{repo}/keys/{key_id}", "get">; - /** - * @see https://docs.github.com/rest/issues/labels#list-labels-for-a-repository - */ - "GET /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "get">; - /** - * @see https://docs.github.com/rest/issues/labels#get-a-label - */ - "GET /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-repository-languages - */ - "GET /repos/{owner}/{repo}/languages": Operation<"/repos/{owner}/{repo}/languages", "get">; - /** - * @see https://docs.github.com/rest/licenses/licenses#get-the-license-for-a-repository - */ - "GET /repos/{owner}/{repo}/license": Operation<"/repos/{owner}/{repo}/license", "get">; - /** - * @see https://docs.github.com/rest/issues/milestones#list-milestones - */ - "GET /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "get">; - /** - * @see https://docs.github.com/rest/issues/milestones#get-a-milestone - */ - "GET /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "get">; - /** - * @see https://docs.github.com/rest/issues/labels#list-labels-for-issues-in-a-milestone - */ - "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}/labels", "get">; - /** - * @see https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user - */ - "GET /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "get">; - /** - * @see https://docs.github.com/rest/pages/pages#get-a-apiname-pages-site - */ - "GET /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "get">; - /** - * @see https://docs.github.com/rest/pages/pages#list-apiname-pages-builds - */ - "GET /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "get">; - /** - * @see https://docs.github.com/rest/pages/pages#get-latest-pages-build - */ - "GET /repos/{owner}/{repo}/pages/builds/latest": Operation<"/repos/{owner}/{repo}/pages/builds/latest", "get">; - /** - * @see https://docs.github.com/rest/pages/pages#get-apiname-pages-build - */ - "GET /repos/{owner}/{repo}/pages/builds/{build_id}": Operation<"/repos/{owner}/{repo}/pages/builds/{build_id}", "get">; - /** - * @see https://docs.github.com/rest/pages/pages#get-a-dns-health-check-for-github-pages - */ - "GET /repos/{owner}/{repo}/pages/health": Operation<"/repos/{owner}/{repo}/pages/health", "get">; - /** - * @see https://docs.github.com/rest/projects/projects#list-repository-projects - */ - "GET /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "get">; - /** - * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests - */ - "GET /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "get">; - /** - * @see https://docs.github.com/rest/pulls/comments#list-review-comments-in-a-repository - */ - "GET /repos/{owner}/{repo}/pulls/comments": Operation<"/repos/{owner}/{repo}/pulls/comments", "get">; - /** - * @see https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "get">; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-pull-request-review-comment - */ - "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "get">; - /** - * @see https://docs.github.com/rest/pulls/pulls#get-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "get">; - /** - * @see https://docs.github.com/rest/pulls/comments#list-review-comments-on-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "get">; - /** - * @see https://docs.github.com/rest/pulls/pulls#list-commits-on-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/commits", "get">; - /** - * @see https://docs.github.com/rest/pulls/pulls#list-pull-requests-files - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/files": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/files", "get">; - /** - * @see https://docs.github.com/rest/pulls/pulls#check-if-a-pull-request-has-been-merged - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "get">; - /** - * @see https://docs.github.com/rest/pulls/review-requests#get-all-requested-reviewers-for-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "get">; - /** - * @see https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "get">; - /** - * @see https://docs.github.com/rest/pulls/reviews#get-a-review-for-a-pull-request - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "get">; - /** - * @see https://docs.github.com/rest/pulls/reviews#list-comments-for-a-pull-request-review - */ - "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments", "get">; - /** - * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme - */ - "GET /repos/{owner}/{repo}/readme": Operation<"/repos/{owner}/{repo}/readme", "get">; - /** - * @see https://docs.github.com/rest/repos/contents#get-a-repository-readme-for-a-directory - */ - "GET /repos/{owner}/{repo}/readme/{dir}": Operation<"/repos/{owner}/{repo}/readme/{dir}", "get">; - /** - * @see https://docs.github.com/rest/releases/releases#list-releases - */ - "GET /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "get">; - /** - * @see https://docs.github.com/rest/releases/assets#get-a-release-asset - */ - "GET /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "get">; - /** - * @see https://docs.github.com/rest/releases/releases#get-the-latest-release - */ - "GET /repos/{owner}/{repo}/releases/latest": Operation<"/repos/{owner}/{repo}/releases/latest", "get">; - /** - * @see https://docs.github.com/rest/releases/releases#get-a-release-by-tag-name - */ - "GET /repos/{owner}/{repo}/releases/tags/{tag}": Operation<"/repos/{owner}/{repo}/releases/tags/{tag}", "get">; - /** - * @see https://docs.github.com/rest/releases/releases#get-a-release - */ - "GET /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "get">; - /** - * @see https://docs.github.com/rest/releases/assets#list-release-assets - */ - "GET /repos/{owner}/{repo}/releases/{release_id}/assets": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "get">; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-release - */ - "GET /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "get">; - /** - * @see https://docs.github.com/rest/repos/rules#get-rules-for-a-branch - */ - "GET /repos/{owner}/{repo}/rules/branches/{branch}": Operation<"/repos/{owner}/{repo}/rules/branches/{branch}", "get">; - /** - * @see https://docs.github.com/rest/repos/rules#get-all-repository-rulesets - */ - "GET /repos/{owner}/{repo}/rulesets": Operation<"/repos/{owner}/{repo}/rulesets", "get">; - /** - * @see https://docs.github.com/rest/repos/rules#get-a-repository-ruleset - */ - "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "get">; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-secret-scanning-alerts-for-a-repository - */ - "GET /repos/{owner}/{repo}/secret-scanning/alerts": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts", "get">; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#get-a-secret-scanning-alert - */ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "get">; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#list-locations-for-a-secret-scanning-alert - */ - "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations", "get">; - /** - * @see https://docs.github.com/rest/security-advisories/repository-advisories#list-repository-security-advisories - */ - "GET /repos/{owner}/{repo}/security-advisories": Operation<"/repos/{owner}/{repo}/security-advisories", "get">; - /** - * @see https://docs.github.com/rest/security-advisories/repository-advisories#get-a-repository-security-advisory - */ - "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}", "get">; - /** - * @see https://docs.github.com/rest/activity/starring#list-stargazers - */ - "GET /repos/{owner}/{repo}/stargazers": Operation<"/repos/{owner}/{repo}/stargazers", "get">; - /** - * @see https://docs.github.com/rest/metrics/statistics#get-the-weekly-commit-activity - */ - "GET /repos/{owner}/{repo}/stats/code_frequency": Operation<"/repos/{owner}/{repo}/stats/code_frequency", "get">; - /** - * @see https://docs.github.com/rest/metrics/statistics#get-the-last-year-of-commit-activity - */ - "GET /repos/{owner}/{repo}/stats/commit_activity": Operation<"/repos/{owner}/{repo}/stats/commit_activity", "get">; - /** - * @see https://docs.github.com/rest/metrics/statistics#get-all-contributor-commit-activity - */ - "GET /repos/{owner}/{repo}/stats/contributors": Operation<"/repos/{owner}/{repo}/stats/contributors", "get">; - /** - * @see https://docs.github.com/rest/metrics/statistics#get-the-weekly-commit-count - */ - "GET /repos/{owner}/{repo}/stats/participation": Operation<"/repos/{owner}/{repo}/stats/participation", "get">; - /** - * @see https://docs.github.com/rest/metrics/statistics#get-the-hourly-commit-count-for-each-day - */ - "GET /repos/{owner}/{repo}/stats/punch_card": Operation<"/repos/{owner}/{repo}/stats/punch_card", "get">; - /** - * @see https://docs.github.com/rest/activity/watching#list-watchers - */ - "GET /repos/{owner}/{repo}/subscribers": Operation<"/repos/{owner}/{repo}/subscribers", "get">; - /** - * @see https://docs.github.com/rest/activity/watching#get-a-repository-subscription - */ - "GET /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-repository-tags - */ - "GET /repos/{owner}/{repo}/tags": Operation<"/repos/{owner}/{repo}/tags", "get">; - /** - * @see https://docs.github.com/rest/repos/tags#list-tag-protection-states-for-a-repository - */ - "GET /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "get">; - /** - * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-tar - */ - "GET /repos/{owner}/{repo}/tarball/{ref}": Operation<"/repos/{owner}/{repo}/tarball/{ref}", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-repository-teams - */ - "GET /repos/{owner}/{repo}/teams": Operation<"/repos/{owner}/{repo}/teams", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#get-all-repository-topics - */ - "GET /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "get">; - /** - * @see https://docs.github.com/rest/metrics/traffic#get-repository-clones - */ - "GET /repos/{owner}/{repo}/traffic/clones": Operation<"/repos/{owner}/{repo}/traffic/clones", "get">; - /** - * @see https://docs.github.com/rest/metrics/traffic#get-top-referral-paths - */ - "GET /repos/{owner}/{repo}/traffic/popular/paths": Operation<"/repos/{owner}/{repo}/traffic/popular/paths", "get">; - /** - * @see https://docs.github.com/rest/metrics/traffic#get-top-referral-sources - */ - "GET /repos/{owner}/{repo}/traffic/popular/referrers": Operation<"/repos/{owner}/{repo}/traffic/popular/referrers", "get">; - /** - * @see https://docs.github.com/rest/metrics/traffic#get-page-views - */ - "GET /repos/{owner}/{repo}/traffic/views": Operation<"/repos/{owner}/{repo}/traffic/views", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository - */ - "GET /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "get">; - /** - * @see https://docs.github.com/rest/repos/contents#download-a-repository-archive-zip - */ - "GET /repos/{owner}/{repo}/zipball/{ref}": Operation<"/repos/{owner}/{repo}/zipball/{ref}", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-public-repositories - */ - "GET /repositories": Operation<"/repositories", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#list-environment-secrets - */ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#get-an-environment-public-key - */ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/public-key", "get">; - /** - * @see https://docs.github.com/rest/actions/secrets#get-an-environment-secret - */ - "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "get">; - /** - * @see https://docs.github.com/rest/actions/variables#list-environment-variables - */ - "GET /repositories/{repository_id}/environments/{environment_name}/variables": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables", "get">; - /** - * @see https://docs.github.com/rest/actions/variables#get-an-environment-variable - */ - "GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "get">; - /** - * @see https://docs.github.com/rest/search/search#search-code - */ - "GET /search/code": Operation<"/search/code", "get">; - /** - * @see https://docs.github.com/rest/search/search#search-commits - */ - "GET /search/commits": Operation<"/search/commits", "get">; - /** - * @see https://docs.github.com/rest/search/search#search-issues-and-pull-requests - */ - "GET /search/issues": Operation<"/search/issues", "get">; - /** - * @see https://docs.github.com/rest/search/search#search-labels - */ - "GET /search/labels": Operation<"/search/labels", "get">; - /** - * @see https://docs.github.com/rest/search/search#search-repositories - */ - "GET /search/repositories": Operation<"/search/repositories", "get">; - /** - * @see https://docs.github.com/rest/search/search#search-topics - */ - "GET /search/topics": Operation<"/search/topics", "get">; - /** - * @see https://docs.github.com/rest/search/search#search-users - */ - "GET /search/users": Operation<"/search/users", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#get-a-team-legacy - */ - "GET /teams/{team_id}": Operation<"/teams/{team_id}", "get">; - /** - * @see https://docs.github.com/rest/teams/discussions#list-discussions-legacy - */ - "GET /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "get">; - /** - * @see https://docs.github.com/rest/teams/discussions#get-a-discussion-legacy - */ - "GET /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "get">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments-legacy - */ - "GET /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "get">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment-legacy - */ - "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "get">; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy - */ - "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "get">; - /** - * @see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy - */ - "GET /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "get">; - /** - * @see https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy - */ - "GET /teams/{team_id}/invitations": Operation<"/teams/{team_id}/invitations", "get">; - /** - * @see https://docs.github.com/rest/teams/members#list-team-members-legacy - */ - "GET /teams/{team_id}/members": Operation<"/teams/{team_id}/members", "get">; - /** - * @see https://docs.github.com/rest/teams/members#get-team-member-legacy - */ - "GET /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "get">; - /** - * @see https://docs.github.com/rest/teams/members#get-team-membership-for-a-user-legacy - */ - "GET /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#list-team-projects-legacy - */ - "GET /teams/{team_id}/projects": Operation<"/teams/{team_id}/projects", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project-legacy - */ - "GET /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#list-team-repositories-legacy - */ - "GET /teams/{team_id}/repos": Operation<"/teams/{team_id}/repos", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository-legacy - */ - "GET /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#list-child-teams-legacy - */ - "GET /teams/{team_id}/teams": Operation<"/teams/{team_id}/teams", "get">; - /** - * @see https://docs.github.com/rest/users/users#get-the-authenticated-user - */ - "GET /user": Operation<"/user", "get">; - /** - * @see https://docs.github.com/rest/users/blocking#list-users-blocked-by-the-authenticated-user - */ - "GET /user/blocks": Operation<"/user/blocks", "get">; - /** - * @see https://docs.github.com/rest/users/blocking#check-if-a-user-is-blocked-by-the-authenticated-user - */ - "GET /user/blocks/{username}": Operation<"/user/blocks/{username}", "get">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#list-codespaces-for-the-authenticated-user - */ - "GET /user/codespaces": Operation<"/user/codespaces", "get">; - /** - * @see https://docs.github.com/rest/codespaces/secrets#list-secrets-for-the-authenticated-user - */ - "GET /user/codespaces/secrets": Operation<"/user/codespaces/secrets", "get">; - /** - * @see https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user - */ - "GET /user/codespaces/secrets/public-key": Operation<"/user/codespaces/secrets/public-key", "get">; - /** - * @see https://docs.github.com/rest/codespaces/secrets#get-a-secret-for-the-authenticated-user - */ - "GET /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "get">; - /** - * @see https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret - */ - "GET /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "get">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#get-a-codespace-for-the-authenticated-user - */ - "GET /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "get">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#get-details-about-a-codespace-export - */ - "GET /user/codespaces/{codespace_name}/exports/{export_id}": Operation<"/user/codespaces/{codespace_name}/exports/{export_id}", "get">; - /** - * @see https://docs.github.com/rest/codespaces/machines#list-machine-types-for-a-codespace - */ - "GET /user/codespaces/{codespace_name}/machines": Operation<"/user/codespaces/{codespace_name}/machines", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-authenticated-user - */ - "GET /user/docker/conflicts": Operation<"/user/docker/conflicts", "get">; - /** - * @see https://docs.github.com/rest/users/emails#list-email-addresses-for-the-authenticated-user - */ - "GET /user/emails": Operation<"/user/emails", "get">; - /** - * @see https://docs.github.com/rest/users/followers#list-followers-of-the-authenticated-user - */ - "GET /user/followers": Operation<"/user/followers", "get">; - /** - * @see https://docs.github.com/rest/users/followers#list-the-people-the-authenticated-user-follows - */ - "GET /user/following": Operation<"/user/following", "get">; - /** - * @see https://docs.github.com/rest/users/followers#check-if-a-person-is-followed-by-the-authenticated-user - */ - "GET /user/following/{username}": Operation<"/user/following/{username}", "get">; - /** - * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user - */ - "GET /user/gpg_keys": Operation<"/user/gpg_keys", "get">; - /** - * @see https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user - */ - "GET /user/gpg_keys/{gpg_key_id}": Operation<"/user/gpg_keys/{gpg_key_id}", "get">; - /** - * @see https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token - */ - "GET /user/installations": Operation<"/user/installations", "get">; - /** - * @see https://docs.github.com/rest/apps/installations#list-repositories-accessible-to-the-user-access-token - */ - "GET /user/installations/{installation_id}/repositories": Operation<"/user/installations/{installation_id}/repositories", "get">; - /** - * @see https://docs.github.com/rest/interactions/user#get-interaction-restrictions-for-your-public-repositories - */ - "GET /user/interaction-limits": Operation<"/user/interaction-limits", "get">; - /** - * @see https://docs.github.com/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user - */ - "GET /user/issues": Operation<"/user/issues", "get">; - /** - * @see https://docs.github.com/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user - */ - "GET /user/keys": Operation<"/user/keys", "get">; - /** - * @see https://docs.github.com/rest/users/keys#get-a-public-ssh-key-for-the-authenticated-user - */ - "GET /user/keys/{key_id}": Operation<"/user/keys/{key_id}", "get">; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user - */ - "GET /user/marketplace_purchases": Operation<"/user/marketplace_purchases", "get">; - /** - * @see https://docs.github.com/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user-stubbed - */ - "GET /user/marketplace_purchases/stubbed": Operation<"/user/marketplace_purchases/stubbed", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#list-organization-memberships-for-the-authenticated-user - */ - "GET /user/memberships/orgs": Operation<"/user/memberships/orgs", "get">; - /** - * @see https://docs.github.com/rest/orgs/members#get-an-organization-membership-for-the-authenticated-user - */ - "GET /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "get">; - /** - * @see https://docs.github.com/rest/migrations/users#list-user-migrations - */ - "GET /user/migrations": Operation<"/user/migrations", "get">; - /** - * @see https://docs.github.com/rest/migrations/users#get-a-user-migration-status - */ - "GET /user/migrations/{migration_id}": Operation<"/user/migrations/{migration_id}", "get">; - /** - * @see https://docs.github.com/rest/migrations/users#download-a-user-migration-archive - */ - "GET /user/migrations/{migration_id}/archive": Operation<"/user/migrations/{migration_id}/archive", "get">; - /** - * @see https://docs.github.com/rest/migrations/users#list-repositories-for-a-user-migration - */ - "GET /user/migrations/{migration_id}/repositories": Operation<"/user/migrations/{migration_id}/repositories", "get">; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user - */ - "GET /user/orgs": Operation<"/user/orgs", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#list-packages-for-the-authenticated-users-namespace - */ - "GET /user/packages": Operation<"/user/packages", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#get-a-package-for-the-authenticated-user - */ - "GET /user/packages/{package_type}/{package_name}": Operation<"/user/packages/{package_type}/{package_name}", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-the-authenticated-user - */ - "GET /user/packages/{package_type}/{package_name}/versions": Operation<"/user/packages/{package_type}/{package_name}/versions", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-the-authenticated-user - */ - "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; - /** - * @see https://docs.github.com/rest/users/emails#list-public-email-addresses-for-the-authenticated-user - */ - "GET /user/public_emails": Operation<"/user/public_emails", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-repositories-for-the-authenticated-user - */ - "GET /user/repos": Operation<"/user/repos", "get">; - /** - * @see https://docs.github.com/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user - */ - "GET /user/repository_invitations": Operation<"/user/repository_invitations", "get">; - /** - * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-the-authenticated-user - */ - "GET /user/social_accounts": Operation<"/user/social_accounts", "get">; - /** - * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user - */ - "GET /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "get">; - /** - * @see https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user - */ - "GET /user/ssh_signing_keys/{ssh_signing_key_id}": Operation<"/user/ssh_signing_keys/{ssh_signing_key_id}", "get">; - /** - * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user - */ - "GET /user/starred": Operation<"/user/starred", "get">; - /** - * @see https://docs.github.com/rest/activity/starring#check-if-a-repository-is-starred-by-the-authenticated-user - */ - "GET /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "get">; - /** - * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-the-authenticated-user - */ - "GET /user/subscriptions": Operation<"/user/subscriptions", "get">; - /** - * @see https://docs.github.com/rest/teams/teams#list-teams-for-the-authenticated-user - */ - "GET /user/teams": Operation<"/user/teams", "get">; - /** - * @see https://docs.github.com/rest/users/users#list-users - */ - "GET /users": Operation<"/users", "get">; - /** - * @see https://docs.github.com/rest/users/users#get-a-user - */ - "GET /users/{username}": Operation<"/users/{username}", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#get-list-of-conflicting-packages-during-docker-migration-for-user - */ - "GET /users/{username}/docker/conflicts": Operation<"/users/{username}/docker/conflicts", "get">; - /** - * @see https://docs.github.com/rest/activity/events#list-events-for-the-authenticated-user - */ - "GET /users/{username}/events": Operation<"/users/{username}/events", "get">; - /** - * @see https://docs.github.com/rest/activity/events#list-organization-events-for-the-authenticated-user - */ - "GET /users/{username}/events/orgs/{org}": Operation<"/users/{username}/events/orgs/{org}", "get">; - /** - * @see https://docs.github.com/rest/activity/events#list-public-events-for-a-user - */ - "GET /users/{username}/events/public": Operation<"/users/{username}/events/public", "get">; - /** - * @see https://docs.github.com/rest/users/followers#list-followers-of-a-user - */ - "GET /users/{username}/followers": Operation<"/users/{username}/followers", "get">; - /** - * @see https://docs.github.com/rest/users/followers#list-the-people-a-user-follows - */ - "GET /users/{username}/following": Operation<"/users/{username}/following", "get">; - /** - * @see https://docs.github.com/rest/users/followers#check-if-a-user-follows-another-user - */ - "GET /users/{username}/following/{target_user}": Operation<"/users/{username}/following/{target_user}", "get">; - /** - * @see https://docs.github.com/rest/gists/gists#list-gists-for-a-user - */ - "GET /users/{username}/gists": Operation<"/users/{username}/gists", "get">; - /** - * @see https://docs.github.com/rest/users/gpg-keys#list-gpg-keys-for-a-user - */ - "GET /users/{username}/gpg_keys": Operation<"/users/{username}/gpg_keys", "get">; - /** - * @see https://docs.github.com/rest/users/users#get-contextual-information-for-a-user - */ - "GET /users/{username}/hovercard": Operation<"/users/{username}/hovercard", "get">; - /** - * @see https://docs.github.com/rest/apps/apps#get-a-user-installation-for-the-authenticated-app - */ - "GET /users/{username}/installation": Operation<"/users/{username}/installation", "get">; - /** - * @see https://docs.github.com/rest/users/keys#list-public-keys-for-a-user - */ - "GET /users/{username}/keys": Operation<"/users/{username}/keys", "get">; - /** - * @see https://docs.github.com/rest/orgs/orgs#list-organizations-for-a-user - */ - "GET /users/{username}/orgs": Operation<"/users/{username}/orgs", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#list-packages-for-a-user - */ - "GET /users/{username}/packages": Operation<"/users/{username}/packages", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#get-a-package-for-a-user - */ - "GET /users/{username}/packages/{package_type}/{package_name}": Operation<"/users/{username}/packages/{package_type}/{package_name}", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#list-package-versions-for-a-package-owned-by-a-user - */ - "GET /users/{username}/packages/{package_type}/{package_name}/versions": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions", "get">; - /** - * @see https://docs.github.com/rest/packages/packages#get-a-package-version-for-a-user - */ - "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}", "get">; - /** - * @see https://docs.github.com/rest/projects/projects#list-user-projects - */ - "GET /users/{username}/projects": Operation<"/users/{username}/projects", "get">; - /** - * @see https://docs.github.com/rest/activity/events#list-events-received-by-the-authenticated-user - */ - "GET /users/{username}/received_events": Operation<"/users/{username}/received_events", "get">; - /** - * @see https://docs.github.com/rest/activity/events#list-public-events-received-by-a-user - */ - "GET /users/{username}/received_events/public": Operation<"/users/{username}/received_events/public", "get">; - /** - * @see https://docs.github.com/rest/repos/repos#list-repositories-for-a-user - */ - "GET /users/{username}/repos": Operation<"/users/{username}/repos", "get">; - /** - * @see https://docs.github.com/rest/billing/billing#get-github-actions-billing-for-a-user - */ - "GET /users/{username}/settings/billing/actions": Operation<"/users/{username}/settings/billing/actions", "get">; - /** - * @see https://docs.github.com/rest/billing/billing#get-github-packages-billing-for-a-user - */ - "GET /users/{username}/settings/billing/packages": Operation<"/users/{username}/settings/billing/packages", "get">; - /** - * @see https://docs.github.com/rest/billing/billing#get-shared-storage-billing-for-a-user - */ - "GET /users/{username}/settings/billing/shared-storage": Operation<"/users/{username}/settings/billing/shared-storage", "get">; - /** - * @see https://docs.github.com/rest/users/social-accounts#list-social-accounts-for-a-user - */ - "GET /users/{username}/social_accounts": Operation<"/users/{username}/social_accounts", "get">; - /** - * @see https://docs.github.com/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user - */ - "GET /users/{username}/ssh_signing_keys": Operation<"/users/{username}/ssh_signing_keys", "get">; - /** - * @see https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user - */ - "GET /users/{username}/starred": Operation<"/users/{username}/starred", "get">; - /** - * @see https://docs.github.com/rest/activity/watching#list-repositories-watched-by-a-user - */ - "GET /users/{username}/subscriptions": Operation<"/users/{username}/subscriptions", "get">; - /** - * @see https://docs.github.com/rest/meta/meta#get-all-api-versions - */ - "GET /versions": Operation<"/versions", "get">; - /** - * @see https://docs.github.com/rest/meta/meta#get-the-zen-of-github - */ - "GET /zen": Operation<"/zen", "get">; - /** - * @see https://docs.github.com/rest/apps/webhooks#update-a-webhook-configuration-for-an-app - */ - "PATCH /app/hook/config": Operation<"/app/hook/config", "patch">; - /** - * @see https://docs.github.com/rest/apps/oauth-applications#reset-a-token - */ - "PATCH /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "patch">; - /** - * @see https://docs.github.com/rest/reference/gists/#update-a-gist - */ - "PATCH /gists/{gist_id}": Operation<"/gists/{gist_id}", "patch">; - /** - * @see https://docs.github.com/rest/gists/comments#update-a-gist-comment - */ - "PATCH /gists/{gist_id}/comments/{comment_id}": Operation<"/gists/{gist_id}/comments/{comment_id}", "patch">; - /** - * @see https://docs.github.com/rest/activity/notifications#mark-a-thread-as-read - */ - "PATCH /notifications/threads/{thread_id}": Operation<"/notifications/threads/{thread_id}", "patch">; - /** - * @see https://docs.github.com/rest/orgs/orgs#update-an-organization - */ - "PATCH /orgs/{org}": Operation<"/orgs/{org}", "patch">; - /** - * @see https://docs.github.com/rest/actions/variables#update-an-organization-variable - */ - "PATCH /orgs/{org}/actions/variables/{name}": Operation<"/orgs/{org}/actions/variables/{name}", "patch">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#update-an-organization-webhook - */ - "PATCH /orgs/{org}/hooks/{hook_id}": Operation<"/orgs/{org}/hooks/{hook_id}", "patch">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization - */ - "PATCH /orgs/{org}/hooks/{hook_id}/config": Operation<"/orgs/{org}/hooks/{hook_id}/config", "patch">; - /** - * @see https://docs.github.com/rest/teams/teams#update-a-team - */ - "PATCH /orgs/{org}/teams/{team_slug}": Operation<"/orgs/{org}/teams/{team_slug}", "patch">; - /** - * @see https://docs.github.com/rest/teams/discussions#update-a-discussion - */ - "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}", "patch">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment - */ - "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}", "patch">; - /** - * @see https://docs.github.com/rest/projects/cards#update-an-existing-project-card - */ - "PATCH /projects/columns/cards/{card_id}": Operation<"/projects/columns/cards/{card_id}", "patch">; - /** - * @see https://docs.github.com/rest/projects/columns#update-an-existing-project-column - */ - "PATCH /projects/columns/{column_id}": Operation<"/projects/columns/{column_id}", "patch">; - /** - * @see https://docs.github.com/rest/projects/projects#update-a-project - */ - "PATCH /projects/{project_id}": Operation<"/projects/{project_id}", "patch">; - /** - * @see https://docs.github.com/rest/repos/repos#update-a-repository - */ - "PATCH /repos/{owner}/{repo}": Operation<"/repos/{owner}/{repo}", "patch">; - /** - * @see https://docs.github.com/rest/actions/variables#update-a-repository-variable - */ - "PATCH /repos/{owner}/{repo}/actions/variables/{name}": Operation<"/repos/{owner}/{repo}/actions/variables/{name}", "patch">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#update-pull-request-review-protection - */ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews", "patch">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#update-status-check-protection - */ - "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks", "patch">; - /** - * @see https://docs.github.com/rest/checks/runs#update-a-check-run - */ - "PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}", "patch">; - /** - * @see https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites - */ - "PATCH /repos/{owner}/{repo}/check-suites/preferences": Operation<"/repos/{owner}/{repo}/check-suites/preferences", "patch">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#update-a-code-scanning-alert - */ - "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}", "patch">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#update-a-code-scanning-default-setup-configuration - */ - "PATCH /repos/{owner}/{repo}/code-scanning/default-setup": Operation<"/repos/{owner}/{repo}/code-scanning/default-setup", "patch">; - /** - * @see https://docs.github.com/rest/commits/comments#update-a-commit-comment - */ - "PATCH /repos/{owner}/{repo}/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/comments/{comment_id}", "patch">; - /** - * @see https://docs.github.com/rest/dependabot/alerts#update-a-dependabot-alert - */ - "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/dependabot/alerts/{alert_number}", "patch">; - /** - * @see https://docs.github.com/rest/git/refs#update-a-reference - */ - "PATCH /repos/{owner}/{repo}/git/refs/{ref}": Operation<"/repos/{owner}/{repo}/git/refs/{ref}", "patch">; - /** - * @see https://docs.github.com/rest/webhooks/repos#update-a-repository-webhook - */ - "PATCH /repos/{owner}/{repo}/hooks/{hook_id}": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}", "patch">; - /** - * @see https://docs.github.com/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository - */ - "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/config", "patch">; - /** - * @see https://docs.github.com/rest/migrations/source-imports#update-an-import - */ - "PATCH /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "patch">; - /** - * @see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author - */ - "PATCH /repos/{owner}/{repo}/import/authors/{author_id}": Operation<"/repos/{owner}/{repo}/import/authors/{author_id}", "patch">; - /** - * @see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference - */ - "PATCH /repos/{owner}/{repo}/import/lfs": Operation<"/repos/{owner}/{repo}/import/lfs", "patch">; - /** - * @see https://docs.github.com/rest/collaborators/invitations#update-a-repository-invitation - */ - "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}": Operation<"/repos/{owner}/{repo}/invitations/{invitation_id}", "patch">; - /** - * @see https://docs.github.com/rest/issues/comments#update-an-issue-comment - */ - "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}", "patch">; - /** - * @see https://docs.github.com/rest/issues/issues#update-an-issue - */ - "PATCH /repos/{owner}/{repo}/issues/{issue_number}": Operation<"/repos/{owner}/{repo}/issues/{issue_number}", "patch">; - /** - * @see https://docs.github.com/rest/issues/labels#update-a-label - */ - "PATCH /repos/{owner}/{repo}/labels/{name}": Operation<"/repos/{owner}/{repo}/labels/{name}", "patch">; - /** - * @see https://docs.github.com/rest/issues/milestones#update-a-milestone - */ - "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}": Operation<"/repos/{owner}/{repo}/milestones/{milestone_number}", "patch">; - /** - * @see https://docs.github.com/rest/pulls/comments#update-a-review-comment-for-a-pull-request - */ - "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}", "patch">; - /** - * @see https://docs.github.com/rest/pulls/pulls#update-a-pull-request - */ - "PATCH /repos/{owner}/{repo}/pulls/{pull_number}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}", "patch">; - /** - * @see https://docs.github.com/rest/releases/assets#update-a-release-asset - */ - "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}": Operation<"/repos/{owner}/{repo}/releases/assets/{asset_id}", "patch">; - /** - * @see https://docs.github.com/rest/releases/releases#update-a-release - */ - "PATCH /repos/{owner}/{repo}/releases/{release_id}": Operation<"/repos/{owner}/{repo}/releases/{release_id}", "patch">; - /** - * @see https://docs.github.com/rest/secret-scanning/secret-scanning#update-a-secret-scanning-alert - */ - "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": Operation<"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}", "patch">; - /** - * @see https://docs.github.com/rest/security-advisories/repository-advisories#update-a-repository-security-advisory - */ - "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}", "patch">; - /** - * @see https://docs.github.com/rest/actions/variables#update-an-environment-variable - */ - "PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables/{name}", "patch">; - /** - * @see https://docs.github.com/rest/teams/teams#update-a-team-legacy - */ - "PATCH /teams/{team_id}": Operation<"/teams/{team_id}", "patch">; - /** - * @see https://docs.github.com/rest/teams/discussions#update-a-discussion-legacy - */ - "PATCH /teams/{team_id}/discussions/{discussion_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}", "patch">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment-legacy - */ - "PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}", "patch">; - /** - * @see https://docs.github.com/rest/users/users#update-the-authenticated-user - */ - "PATCH /user": Operation<"/user", "patch">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#update-a-codespace-for-the-authenticated-user - */ - "PATCH /user/codespaces/{codespace_name}": Operation<"/user/codespaces/{codespace_name}", "patch">; - /** - * @see https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user - */ - "PATCH /user/email/visibility": Operation<"/user/email/visibility", "patch">; - /** - * @see https://docs.github.com/rest/orgs/members#update-an-organization-membership-for-the-authenticated-user - */ - "PATCH /user/memberships/orgs/{org}": Operation<"/user/memberships/orgs/{org}", "patch">; - /** - * @see https://docs.github.com/rest/collaborators/invitations#accept-a-repository-invitation - */ - "PATCH /user/repository_invitations/{invitation_id}": Operation<"/user/repository_invitations/{invitation_id}", "patch">; - /** - * @see https://docs.github.com/rest/apps/apps#create-a-github-app-from-a-manifest - */ - "POST /app-manifests/{code}/conversions": Operation<"/app-manifests/{code}/conversions", "post">; - /** - * @see https://docs.github.com/rest/apps/webhooks#redeliver-a-delivery-for-an-app-webhook - */ - "POST /app/hook/deliveries/{delivery_id}/attempts": Operation<"/app/hook/deliveries/{delivery_id}/attempts", "post">; - /** - * @see https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app - */ - "POST /app/installations/{installation_id}/access_tokens": Operation<"/app/installations/{installation_id}/access_tokens", "post">; - /** - * @see https://docs.github.com/rest/apps/oauth-applications#check-a-token - */ - "POST /applications/{client_id}/token": Operation<"/applications/{client_id}/token", "post">; - /** - * @see https://docs.github.com/rest/apps/apps#create-a-scoped-access-token - */ - "POST /applications/{client_id}/token/scoped": Operation<"/applications/{client_id}/token/scoped", "post">; - /** - * @see https://docs.github.com/rest/gists/gists#create-a-gist - */ - "POST /gists": Operation<"/gists", "post">; - /** - * @see https://docs.github.com/rest/gists/comments#create-a-gist-comment - */ - "POST /gists/{gist_id}/comments": Operation<"/gists/{gist_id}/comments", "post">; - /** - * @see https://docs.github.com/rest/gists/gists#fork-a-gist - */ - "POST /gists/{gist_id}/forks": Operation<"/gists/{gist_id}/forks", "post">; - /** - * @see https://docs.github.com/rest/markdown/markdown#render-a-markdown-document - */ - "POST /markdown": Operation<"/markdown", "post">; - /** - * @see https://docs.github.com/rest/markdown/markdown#render-a-markdown-document-in-raw-mode - */ - "POST /markdown/raw": Operation<"/markdown/raw", "post">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#create-configuration-for-a-just-in-time-runner-for-an-organization - */ - "POST /orgs/{org}/actions/runners/generate-jitconfig": Operation<"/orgs/{org}/actions/runners/generate-jitconfig", "post">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-registration-token-for-an-organization - */ - "POST /orgs/{org}/actions/runners/registration-token": Operation<"/orgs/{org}/actions/runners/registration-token", "post">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-remove-token-for-an-organization - */ - "POST /orgs/{org}/actions/runners/remove-token": Operation<"/orgs/{org}/actions/runners/remove-token", "post">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#add-custom-labels-to-a-self-hosted-runner-for-an-organization - */ - "POST /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "post">; - /** - * @see https://docs.github.com/rest/actions/variables#create-an-organization-variable - */ - "POST /orgs/{org}/actions/variables": Operation<"/orgs/{org}/actions/variables", "post">; - /** - * @see https://docs.github.com/rest/codespaces/organizations#add-users-to-codespaces-access-for-an-organization - */ - "POST /orgs/{org}/codespaces/access/selected_users": Operation<"/orgs/{org}/codespaces/access/selected_users", "post">; - /** - * @see https://docs.github.com/rest/copilot/copilot-for-business#add-teams-to-the-copilot-for-business-subscription-for-an-organization - */ - "POST /orgs/{org}/copilot/billing/selected_teams": Operation<"/orgs/{org}/copilot/billing/selected_teams", "post">; - /** - * @see https://docs.github.com/rest/copilot/copilot-for-business#add-users-to-the-copilot-for-business-subscription-for-an-organization - */ - "POST /orgs/{org}/copilot/billing/selected_users": Operation<"/orgs/{org}/copilot/billing/selected_users", "post">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#create-an-organization-webhook - */ - "POST /orgs/{org}/hooks": Operation<"/orgs/{org}/hooks", "post">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook - */ - "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; - /** - * @see https://docs.github.com/rest/orgs/webhooks#ping-an-organization-webhook - */ - "POST /orgs/{org}/hooks/{hook_id}/pings": Operation<"/orgs/{org}/hooks/{hook_id}/pings", "post">; - /** - * @see https://docs.github.com/rest/orgs/members#create-an-organization-invitation - */ - "POST /orgs/{org}/invitations": Operation<"/orgs/{org}/invitations", "post">; - /** - * @see https://docs.github.com/rest/codespaces/organizations#stop-a-codespace-for-an-organization-user - */ - "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": Operation<"/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop", "post">; - /** - * @see https://docs.github.com/rest/migrations/orgs#start-an-organization-migration - */ - "POST /orgs/{org}/migrations": Operation<"/orgs/{org}/migrations", "post">; - /** - * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-an-organization - */ - "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/restore", "post">; - /** - * @see https://docs.github.com/rest/packages/packages#restore-package-version-for-an-organization - */ - "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-requests-to-access-organization-resources-with-fine-grained-personal-access-tokens - */ - "POST /orgs/{org}/personal-access-token-requests": Operation<"/orgs/{org}/personal-access-token-requests", "post">; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#review-a-request-to-access-organization-resources-with-a-fine-grained-personal-access-token - */ - "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}": Operation<"/orgs/{org}/personal-access-token-requests/{pat_request_id}", "post">; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-to-organization-resources-via-fine-grained-personal-access-tokens - */ - "POST /orgs/{org}/personal-access-tokens": Operation<"/orgs/{org}/personal-access-tokens", "post">; - /** - * @see https://docs.github.com/rest/orgs/personal-access-tokens#update-the-access-a-fine-grained-personal-access-token-has-to-organization-resources - */ - "POST /orgs/{org}/personal-access-tokens/{pat_id}": Operation<"/orgs/{org}/personal-access-tokens/{pat_id}", "post">; - /** - * @see https://docs.github.com/rest/projects/projects#create-an-organization-project - */ - "POST /orgs/{org}/projects": Operation<"/orgs/{org}/projects", "post">; - /** - * @see https://docs.github.com/rest/repos/repos#create-an-organization-repository - */ - "POST /orgs/{org}/repos": Operation<"/orgs/{org}/repos", "post">; - /** - * @see https://docs.github.com/rest/orgs/rules#create-an-organization-repository-ruleset - */ - "POST /orgs/{org}/rulesets": Operation<"/orgs/{org}/rulesets", "post">; - /** - * @see https://docs.github.com/rest/teams/teams#create-a-team - */ - "POST /orgs/{org}/teams": Operation<"/orgs/{org}/teams", "post">; - /** - * @see https://docs.github.com/rest/teams/discussions#create-a-discussion - */ - "POST /orgs/{org}/teams/{team_slug}/discussions": Operation<"/orgs/{org}/teams/{team_slug}/discussions", "post">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment - */ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments", "post">; - /** - * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment - */ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; - /** - * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion - */ - "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": Operation<"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions", "post">; - /** - * @see https://docs.github.com/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization - */ - "POST /orgs/{org}/{security_product}/{enablement}": Operation<"/orgs/{org}/{security_product}/{enablement}", "post">; - /** - * @see https://docs.github.com/rest/projects/cards#move-a-project-card - */ - "POST /projects/columns/cards/{card_id}/moves": Operation<"/projects/columns/cards/{card_id}/moves", "post">; - /** - * @see https://docs.github.com/rest/projects/cards#create-a-project-card - */ - "POST /projects/columns/{column_id}/cards": Operation<"/projects/columns/{column_id}/cards", "post">; - /** - * @see https://docs.github.com/rest/projects/columns#move-a-project-column - */ - "POST /projects/columns/{column_id}/moves": Operation<"/projects/columns/{column_id}/moves", "post">; - /** - * @see https://docs.github.com/rest/projects/columns#create-a-project-column - */ - "POST /projects/{project_id}/columns": Operation<"/projects/{project_id}/columns", "post">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run - */ - "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun", "post">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#create-configuration-for-a-just-in-time-runner-for-a-repository - */ - "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig": Operation<"/repos/{owner}/{repo}/actions/runners/generate-jitconfig", "post">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-registration-token-for-a-repository - */ - "POST /repos/{owner}/{repo}/actions/runners/registration-token": Operation<"/repos/{owner}/{repo}/actions/runners/registration-token", "post">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#create-a-remove-token-for-a-repository - */ - "POST /repos/{owner}/{repo}/actions/runners/remove-token": Operation<"/repos/{owner}/{repo}/actions/runners/remove-token", "post">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#add-custom-labels-to-a-self-hosted-runner-for-a-repository - */ - "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "post">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#approve-a-workflow-run-for-a-fork-pull-request - */ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/approve", "post">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run - */ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel", "post">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#review-custom-deployment-protection-rules-for-a-workflow-run - */ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule", "post">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run - */ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments", "post">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#re-run-a-workflow - */ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun", "post">; - /** - * @see https://docs.github.com/rest/actions/workflow-runs#re-run-failed-jobs-from-a-workflow-run - */ - "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": Operation<"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs", "post">; - /** - * @see https://docs.github.com/rest/actions/variables#create-a-repository-variable - */ - "POST /repos/{owner}/{repo}/actions/variables": Operation<"/repos/{owner}/{repo}/actions/variables", "post">; - /** - * @see https://docs.github.com/rest/actions/workflows#create-a-workflow-dispatch-event - */ - "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches", "post">; - /** - * @see https://docs.github.com/rest/repos/autolinks#create-an-autolink-reference-for-a-repository - */ - "POST /repos/{owner}/{repo}/autolinks": Operation<"/repos/{owner}/{repo}/autolinks", "post">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#set-admin-branch-protection - */ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins", "post">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#create-commit-signature-protection - */ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures", "post">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#add-status-check-contexts - */ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "post">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#add-app-access-restrictions - */ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "post">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#add-team-access-restrictions - */ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "post">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#add-user-access-restrictions - */ - "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "post">; - /** - * @see https://docs.github.com/rest/branches/branches#rename-a-branch - */ - "POST /repos/{owner}/{repo}/branches/{branch}/rename": Operation<"/repos/{owner}/{repo}/branches/{branch}/rename", "post">; - /** - * @see https://docs.github.com/rest/reference/checks#create-a-check-run - */ - "POST /repos/{owner}/{repo}/check-runs": Operation<"/repos/{owner}/{repo}/check-runs", "post">; - /** - * @see https://docs.github.com/rest/checks/runs#rerequest-a-check-run - */ - "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest", "post">; - /** - * @see https://docs.github.com/rest/checks/suites#create-a-check-suite - */ - "POST /repos/{owner}/{repo}/check-suites": Operation<"/repos/{owner}/{repo}/check-suites", "post">; - /** - * @see https://docs.github.com/rest/checks/suites#rerequest-a-check-suite - */ - "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": Operation<"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest", "post">; - /** - * @see https://docs.github.com/rest/code-scanning/code-scanning#upload-an-analysis-as-sarif-data - */ - "POST /repos/{owner}/{repo}/code-scanning/sarifs": Operation<"/repos/{owner}/{repo}/code-scanning/sarifs", "post">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-in-a-repository - */ - "POST /repos/{owner}/{repo}/codespaces": Operation<"/repos/{owner}/{repo}/codespaces", "post">; - /** - * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-commit-comment - */ - "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/comments/{comment_id}/reactions", "post">; - /** - * @see https://docs.github.com/rest/commits/comments#create-a-commit-comment - */ - "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments": Operation<"/repos/{owner}/{repo}/commits/{commit_sha}/comments", "post">; - /** - * @see https://docs.github.com/rest/dependency-graph/dependency-submission#create-a-snapshot-of-dependencies-for-a-repository - */ - "POST /repos/{owner}/{repo}/dependency-graph/snapshots": Operation<"/repos/{owner}/{repo}/dependency-graph/snapshots", "post">; - /** - * @see https://docs.github.com/rest/deployments/deployments#create-a-deployment - */ - "POST /repos/{owner}/{repo}/deployments": Operation<"/repos/{owner}/{repo}/deployments", "post">; - /** - * @see https://docs.github.com/rest/deployments/statuses#create-a-deployment-status - */ - "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses": Operation<"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses", "post">; - /** - * @see https://docs.github.com/rest/repos/repos#create-a-repository-dispatch-event - */ - "POST /repos/{owner}/{repo}/dispatches": Operation<"/repos/{owner}/{repo}/dispatches", "post">; - /** - * @see https://docs.github.com/rest/deployments/branch-policies#create-a-deployment-branch-policy - */ - "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies", "post">; - /** - * @see https://docs.github.com/rest/deployments/protection-rules#create-a-custom-deployment-protection-rule-on-an-environment - */ - "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules", "post">; - /** - * @see https://docs.github.com/rest/repos/forks#create-a-fork - */ - "POST /repos/{owner}/{repo}/forks": Operation<"/repos/{owner}/{repo}/forks", "post">; - /** - * @see https://docs.github.com/rest/git/blobs#create-a-blob - */ - "POST /repos/{owner}/{repo}/git/blobs": Operation<"/repos/{owner}/{repo}/git/blobs", "post">; - /** - * @see https://docs.github.com/rest/git/commits#create-a-commit - */ - "POST /repos/{owner}/{repo}/git/commits": Operation<"/repos/{owner}/{repo}/git/commits", "post">; - /** - * @see https://docs.github.com/rest/git/refs#create-a-reference - */ - "POST /repos/{owner}/{repo}/git/refs": Operation<"/repos/{owner}/{repo}/git/refs", "post">; - /** - * @see https://docs.github.com/rest/git/tags#create-a-tag-object - */ - "POST /repos/{owner}/{repo}/git/tags": Operation<"/repos/{owner}/{repo}/git/tags", "post">; - /** - * @see https://docs.github.com/rest/git/trees#create-a-tree - */ - "POST /repos/{owner}/{repo}/git/trees": Operation<"/repos/{owner}/{repo}/git/trees", "post">; - /** - * @see https://docs.github.com/rest/webhooks/repos#create-a-repository-webhook - */ - "POST /repos/{owner}/{repo}/hooks": Operation<"/repos/{owner}/{repo}/hooks", "post">; - /** - * @see https://docs.github.com/rest/webhooks/repo-deliveries#redeliver-a-delivery-for-a-repository-webhook - */ - "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts", "post">; - /** - * @see https://docs.github.com/rest/webhooks/repos#ping-a-repository-webhook - */ - "POST /repos/{owner}/{repo}/hooks/{hook_id}/pings": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/pings", "post">; - /** - * @see https://docs.github.com/rest/webhooks/repos#test-the-push-repository-webhook - */ - "POST /repos/{owner}/{repo}/hooks/{hook_id}/tests": Operation<"/repos/{owner}/{repo}/hooks/{hook_id}/tests", "post">; - /** - * @see https://docs.github.com/rest/issues/issues#create-an-issue - */ - "POST /repos/{owner}/{repo}/issues": Operation<"/repos/{owner}/{repo}/issues", "post">; - /** - * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-an-issue-comment - */ - "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions", "post">; - /** - * @see https://docs.github.com/rest/issues/assignees#add-assignees-to-an-issue - */ - "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/assignees", "post">; - /** - * @see https://docs.github.com/rest/issues/comments#create-an-issue-comment - */ - "POST /repos/{owner}/{repo}/issues/{issue_number}/comments": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/comments", "post">; - /** - * @see https://docs.github.com/rest/issues/labels#add-labels-to-an-issue - */ - "POST /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "post">; - /** - * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-an-issue - */ - "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/reactions", "post">; - /** - * @see https://docs.github.com/rest/deploy-keys/deploy-keys#create-a-deploy-key - */ - "POST /repos/{owner}/{repo}/keys": Operation<"/repos/{owner}/{repo}/keys", "post">; - /** - * @see https://docs.github.com/rest/issues/labels#create-a-label - */ - "POST /repos/{owner}/{repo}/labels": Operation<"/repos/{owner}/{repo}/labels", "post">; - /** - * @see https://docs.github.com/rest/branches/branches#sync-a-fork-branch-with-the-upstream-repository - */ - "POST /repos/{owner}/{repo}/merge-upstream": Operation<"/repos/{owner}/{repo}/merge-upstream", "post">; - /** - * @see https://docs.github.com/rest/branches/branches#merge-a-branch - */ - "POST /repos/{owner}/{repo}/merges": Operation<"/repos/{owner}/{repo}/merges", "post">; - /** - * @see https://docs.github.com/rest/issues/milestones#create-a-milestone - */ - "POST /repos/{owner}/{repo}/milestones": Operation<"/repos/{owner}/{repo}/milestones", "post">; - /** - * @see https://docs.github.com/rest/pages/pages#create-a-apiname-pages-site - */ - "POST /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "post">; - /** - * @see https://docs.github.com/rest/pages/pages#request-a-apiname-pages-build - */ - "POST /repos/{owner}/{repo}/pages/builds": Operation<"/repos/{owner}/{repo}/pages/builds", "post">; - /** - * @see https://docs.github.com/rest/pages/pages#create-a-github-pages-deployment - */ - "POST /repos/{owner}/{repo}/pages/deployment": Operation<"/repos/{owner}/{repo}/pages/deployment", "post">; - /** - * @see https://docs.github.com/rest/projects/projects#create-a-repository-project - */ - "POST /repos/{owner}/{repo}/projects": Operation<"/repos/{owner}/{repo}/projects", "post">; - /** - * @see https://docs.github.com/rest/pulls/pulls#create-a-pull-request - */ - "POST /repos/{owner}/{repo}/pulls": Operation<"/repos/{owner}/{repo}/pulls", "post">; - /** - * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-pull-request-review-comment - */ - "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": Operation<"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions", "post">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-from-a-pull-request - */ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/codespaces", "post">; - /** - * @see https://docs.github.com/rest/pulls/comments#create-a-review-comment-for-a-pull-request - */ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments", "post">; - /** - * @see https://docs.github.com/rest/pulls/comments#create-a-reply-for-a-review-comment - */ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies", "post">; - /** - * @see https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request - */ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers", "post">; - /** - * @see https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request - */ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews", "post">; - /** - * @see https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request - */ - "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events", "post">; - /** - * @see https://docs.github.com/rest/releases/releases#create-a-release - */ - "POST /repos/{owner}/{repo}/releases": Operation<"/repos/{owner}/{repo}/releases", "post">; - /** - * @see https://docs.github.com/rest/releases/releases#generate-release-notes-content-for-a-release - */ - "POST /repos/{owner}/{repo}/releases/generate-notes": Operation<"/repos/{owner}/{repo}/releases/generate-notes", "post">; - /** - * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-release - */ - "POST /repos/{owner}/{repo}/releases/{release_id}/reactions": Operation<"/repos/{owner}/{repo}/releases/{release_id}/reactions", "post">; - /** - * @see https://docs.github.com/rest/repos/rules#create-a-repository-ruleset - */ - "POST /repos/{owner}/{repo}/rulesets": Operation<"/repos/{owner}/{repo}/rulesets", "post">; - /** - * @see https://docs.github.com/rest/security-advisories/repository-advisories#create-a-repository-security-advisory - */ - "POST /repos/{owner}/{repo}/security-advisories": Operation<"/repos/{owner}/{repo}/security-advisories", "post">; - /** - * @see https://docs.github.com/rest/security-advisories/repository-advisories#privately-report-a-security-vulnerability - */ - "POST /repos/{owner}/{repo}/security-advisories/reports": Operation<"/repos/{owner}/{repo}/security-advisories/reports", "post">; - /** - * @see https://docs.github.com/rest/security-advisories/repository-advisories#request-a-cve-for-a-repository-security-advisory - */ - "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": Operation<"/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve", "post">; - /** - * @see https://docs.github.com/rest/commits/statuses#create-a-commit-status - */ - "POST /repos/{owner}/{repo}/statuses/{sha}": Operation<"/repos/{owner}/{repo}/statuses/{sha}", "post">; - /** - * @see https://docs.github.com/rest/repos/tags#create-a-tag-protection-state-for-a-repository - */ - "POST /repos/{owner}/{repo}/tags/protection": Operation<"/repos/{owner}/{repo}/tags/protection", "post">; - /** - * @see https://docs.github.com/rest/repos/repos#transfer-a-repository - */ - "POST /repos/{owner}/{repo}/transfer": Operation<"/repos/{owner}/{repo}/transfer", "post">; - /** - * @see https://docs.github.com/rest/repos/repos#create-a-repository-using-a-template - */ - "POST /repos/{template_owner}/{template_repo}/generate": Operation<"/repos/{template_owner}/{template_repo}/generate", "post">; - /** - * @see https://docs.github.com/rest/actions/variables#create-an-environment-variable - */ - "POST /repositories/{repository_id}/environments/{environment_name}/variables": Operation<"/repositories/{repository_id}/environments/{environment_name}/variables", "post">; - /** - * @see https://docs.github.com/rest/teams/discussions#create-a-discussion-legacy - */ - "POST /teams/{team_id}/discussions": Operation<"/teams/{team_id}/discussions", "post">; - /** - * @see https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment-legacy - */ - "POST /teams/{team_id}/discussions/{discussion_number}/comments": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments", "post">; - /** - * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment-legacy - */ - "POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions", "post">; - /** - * @see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-legacy - */ - "POST /teams/{team_id}/discussions/{discussion_number}/reactions": Operation<"/teams/{team_id}/discussions/{discussion_number}/reactions", "post">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#create-a-codespace-for-the-authenticated-user - */ - "POST /user/codespaces": Operation<"/user/codespaces", "post">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#export-a-codespace-for-the-authenticated-user - */ - "POST /user/codespaces/{codespace_name}/exports": Operation<"/user/codespaces/{codespace_name}/exports", "post">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#create-a-repository-from-an-unpublished-codespace - */ - "POST /user/codespaces/{codespace_name}/publish": Operation<"/user/codespaces/{codespace_name}/publish", "post">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#start-a-codespace-for-the-authenticated-user - */ - "POST /user/codespaces/{codespace_name}/start": Operation<"/user/codespaces/{codespace_name}/start", "post">; - /** - * @see https://docs.github.com/rest/codespaces/codespaces#stop-a-codespace-for-the-authenticated-user - */ - "POST /user/codespaces/{codespace_name}/stop": Operation<"/user/codespaces/{codespace_name}/stop", "post">; - /** - * @see https://docs.github.com/rest/users/emails#add-an-email-address-for-the-authenticated-user - */ - "POST /user/emails": Operation<"/user/emails", "post">; - /** - * @see https://docs.github.com/rest/users/gpg-keys#create-a-gpg-key-for-the-authenticated-user - */ - "POST /user/gpg_keys": Operation<"/user/gpg_keys", "post">; - /** - * @see https://docs.github.com/rest/users/keys#create-a-public-ssh-key-for-the-authenticated-user - */ - "POST /user/keys": Operation<"/user/keys", "post">; - /** - * @see https://docs.github.com/rest/migrations/users#start-a-user-migration - */ - "POST /user/migrations": Operation<"/user/migrations", "post">; - /** - * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-the-authenticated-user - */ - "POST /user/packages/{package_type}/{package_name}/restore{?token}": Operation<"/user/packages/{package_type}/{package_name}/restore", "post">; - /** - * @see https://docs.github.com/rest/packages/packages#restore-a-package-version-for-the-authenticated-user - */ - "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; - /** - * @see https://docs.github.com/rest/projects/projects#create-a-user-project - */ - "POST /user/projects": Operation<"/user/projects", "post">; - /** - * @see https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user - */ - "POST /user/repos": Operation<"/user/repos", "post">; - /** - * @see https://docs.github.com/rest/users/social-accounts#add-social-accounts-for-the-authenticated-user - */ - "POST /user/social_accounts": Operation<"/user/social_accounts", "post">; - /** - * @see https://docs.github.com/rest/users/ssh-signing-keys#create-a-ssh-signing-key-for-the-authenticated-user - */ - "POST /user/ssh_signing_keys": Operation<"/user/ssh_signing_keys", "post">; - /** - * @see https://docs.github.com/rest/packages/packages#restore-a-package-for-a-user - */ - "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}": Operation<"/users/{username}/packages/{package_type}/{package_name}/restore", "post">; - /** - * @see https://docs.github.com/rest/packages/packages#restore-package-version-for-a-user - */ - "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": Operation<"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore", "post">; - /** - * @see https://docs.github.com/rest/releases/assets#upload-a-release-asset - */ - "POST {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}": Operation<"/repos/{owner}/{repo}/releases/{release_id}/assets", "post">; - /** - * @see https://docs.github.com/rest/apps/apps#suspend-an-app-installation - */ - "PUT /app/installations/{installation_id}/suspended": Operation<"/app/installations/{installation_id}/suspended", "put">; - /** - * @see https://docs.github.com/rest/gists/gists#star-a-gist - */ - "PUT /gists/{gist_id}/star": Operation<"/gists/{gist_id}/star", "put">; - /** - * @see https://docs.github.com/rest/activity/notifications#mark-notifications-as-read - */ - "PUT /notifications": Operation<"/notifications", "put">; - /** - * @see https://docs.github.com/rest/activity/notifications#set-a-thread-subscription - */ - "PUT /notifications/threads/{thread_id}/subscription": Operation<"/notifications/threads/{thread_id}/subscription", "put">; - /** - * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization - */ - "PUT /orgs/{org}/actions/oidc/customization/sub": Operation<"/orgs/{org}/actions/oidc/customization/sub", "put">; - /** - * @see https://docs.github.com/rest/actions/permissions#set-github-actions-permissions-for-an-organization - */ - "PUT /orgs/{org}/actions/permissions": Operation<"/orgs/{org}/actions/permissions", "put">; - /** - * @see https://docs.github.com/rest/actions/permissions#set-selected-repositories-enabled-for-github-actions-in-an-organization - */ - "PUT /orgs/{org}/actions/permissions/repositories": Operation<"/orgs/{org}/actions/permissions/repositories", "put">; - /** - * @see https://docs.github.com/rest/actions/permissions#enable-a-selected-repository-for-github-actions-in-an-organization - */ - "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}": Operation<"/orgs/{org}/actions/permissions/repositories/{repository_id}", "put">; - /** - * @see https://docs.github.com/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-an-organization - */ - "PUT /orgs/{org}/actions/permissions/selected-actions": Operation<"/orgs/{org}/actions/permissions/selected-actions", "put">; - /** - * @see https://docs.github.com/rest/actions/permissions#set-default-workflow-permissions-for-an-organization - */ - "PUT /orgs/{org}/actions/permissions/workflow": Operation<"/orgs/{org}/actions/permissions/workflow", "put">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#set-custom-labels-for-a-self-hosted-runner-for-an-organization - */ - "PUT /orgs/{org}/actions/runners/{runner_id}/labels": Operation<"/orgs/{org}/actions/runners/{runner_id}/labels", "put">; - /** - * @see https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret - */ - "PUT /orgs/{org}/actions/secrets/{secret_name}": Operation<"/orgs/{org}/actions/secrets/{secret_name}", "put">; - /** - * @see https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret - */ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories", "put">; - /** - * @see https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret - */ - "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}", "put">; - /** - * @see https://docs.github.com/rest/actions/variables#set-selected-repositories-for-an-organization-variable - */ - "PUT /orgs/{org}/actions/variables/{name}/repositories": Operation<"/orgs/{org}/actions/variables/{name}/repositories", "put">; - /** - * @see https://docs.github.com/rest/actions/variables#add-selected-repository-to-an-organization-variable - */ - "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}": Operation<"/orgs/{org}/actions/variables/{name}/repositories/{repository_id}", "put">; - /** - * @see https://docs.github.com/rest/orgs/blocking#block-a-user-from-an-organization - */ - "PUT /orgs/{org}/blocks/{username}": Operation<"/orgs/{org}/blocks/{username}", "put">; - /** - * @see https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces - */ - "PUT /orgs/{org}/codespaces/access": Operation<"/orgs/{org}/codespaces/access", "put">; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret - */ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}", "put">; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret - */ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories", "put">; - /** - * @see https://docs.github.com/rest/codespaces/organization-secrets#add-selected-repository-to-an-organization-secret - */ - "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; - /** - * @see https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret - */ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}", "put">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret - */ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories", "put">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#add-selected-repository-to-an-organization-secret - */ - "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": Operation<"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}", "put">; - /** - * @see https://docs.github.com/rest/interactions/orgs#set-interaction-restrictions-for-an-organization - */ - "PUT /orgs/{org}/interaction-limits": Operation<"/orgs/{org}/interaction-limits", "put">; - /** - * @see https://docs.github.com/rest/orgs/members#set-organization-membership-for-a-user - */ - "PUT /orgs/{org}/memberships/{username}": Operation<"/orgs/{org}/memberships/{username}", "put">; - /** - * @see https://docs.github.com/rest/orgs/outside-collaborators#convert-an-organization-member-to-outside-collaborator - */ - "PUT /orgs/{org}/outside_collaborators/{username}": Operation<"/orgs/{org}/outside_collaborators/{username}", "put">; - /** - * @see https://docs.github.com/rest/orgs/members#set-public-organization-membership-for-the-authenticated-user - */ - "PUT /orgs/{org}/public_members/{username}": Operation<"/orgs/{org}/public_members/{username}", "put">; - /** - * @see https://docs.github.com/rest/orgs/rules#update-an-organization-repository-ruleset - */ - "PUT /orgs/{org}/rulesets/{ruleset_id}": Operation<"/orgs/{org}/rulesets/{ruleset_id}", "put">; - /** - * @see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team - */ - "PUT /orgs/{org}/security-managers/teams/{team_slug}": Operation<"/orgs/{org}/security-managers/teams/{team_slug}", "put">; - /** - * @see https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user - */ - "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}": Operation<"/orgs/{org}/teams/{team_slug}/memberships/{username}", "put">; - /** - * @see https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions - */ - "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}": Operation<"/orgs/{org}/teams/{team_slug}/projects/{project_id}", "put">; - /** - * @see https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions - */ - "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": Operation<"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}", "put">; - /** - * @see https://docs.github.com/rest/projects/collaborators#add-project-collaborator - */ - "PUT /projects/{project_id}/collaborators/{username}": Operation<"/projects/{project_id}/collaborators/{username}", "put">; - /** - * @see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository - */ - "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub": Operation<"/repos/{owner}/{repo}/actions/oidc/customization/sub", "put">; - /** - * @see https://docs.github.com/rest/actions/permissions#set-github-actions-permissions-for-a-repository - */ - "PUT /repos/{owner}/{repo}/actions/permissions": Operation<"/repos/{owner}/{repo}/actions/permissions", "put">; - /** - * @see https://docs.github.com/rest/actions/permissions#set-the-level-of-access-for-workflows-outside-of-the-repository - */ - "PUT /repos/{owner}/{repo}/actions/permissions/access": Operation<"/repos/{owner}/{repo}/actions/permissions/access", "put">; - /** - * @see https://docs.github.com/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-a-repository - */ - "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions": Operation<"/repos/{owner}/{repo}/actions/permissions/selected-actions", "put">; - /** - * @see https://docs.github.com/rest/actions/permissions#set-default-workflow-permissions-for-a-repository - */ - "PUT /repos/{owner}/{repo}/actions/permissions/workflow": Operation<"/repos/{owner}/{repo}/actions/permissions/workflow", "put">; - /** - * @see https://docs.github.com/rest/actions/self-hosted-runners#set-custom-labels-for-a-self-hosted-runner-for-a-repository - */ - "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels": Operation<"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels", "put">; - /** - * @see https://docs.github.com/rest/actions/secrets#create-or-update-a-repository-secret - */ - "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/actions/secrets/{secret_name}", "put">; - /** - * @see https://docs.github.com/rest/actions/workflows#disable-a-workflow - */ - "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable", "put">; - /** - * @see https://docs.github.com/rest/actions/workflows#enable-a-workflow - */ - "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": Operation<"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable", "put">; - /** - * @see https://docs.github.com/rest/repos/repos#enable-automated-security-fixes - */ - "PUT /repos/{owner}/{repo}/automated-security-fixes": Operation<"/repos/{owner}/{repo}/automated-security-fixes", "put">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#update-branch-protection - */ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection", "put">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#set-status-check-contexts - */ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts", "put">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#set-app-access-restrictions - */ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps", "put">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#set-team-access-restrictions - */ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams", "put">; - /** - * @see https://docs.github.com/rest/branches/branch-protection#set-user-access-restrictions - */ - "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": Operation<"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users", "put">; - /** - * @see https://docs.github.com/rest/codespaces/repository-secrets#create-or-update-a-repository-secret - */ - "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}", "put">; - /** - * @see https://docs.github.com/rest/collaborators/collaborators#add-a-repository-collaborator - */ - "PUT /repos/{owner}/{repo}/collaborators/{username}": Operation<"/repos/{owner}/{repo}/collaborators/{username}", "put">; - /** - * @see https://docs.github.com/rest/repos/contents#create-or-update-file-contents - */ - "PUT /repos/{owner}/{repo}/contents/{path}": Operation<"/repos/{owner}/{repo}/contents/{path}", "put">; - /** - * @see https://docs.github.com/rest/dependabot/secrets#create-or-update-a-repository-secret - */ - "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}": Operation<"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}", "put">; - /** - * @see https://docs.github.com/rest/deployments/environments#create-or-update-an-environment - */ - "PUT /repos/{owner}/{repo}/environments/{environment_name}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}", "put">; - /** - * @see https://docs.github.com/rest/deployments/branch-policies#update-a-deployment-branch-policy - */ - "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": Operation<"/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}", "put">; - /** - * @see https://docs.github.com/rest/migrations/source-imports#start-an-import - */ - "PUT /repos/{owner}/{repo}/import": Operation<"/repos/{owner}/{repo}/import", "put">; - /** - * @see https://docs.github.com/rest/interactions/repos#set-interaction-restrictions-for-a-repository - */ - "PUT /repos/{owner}/{repo}/interaction-limits": Operation<"/repos/{owner}/{repo}/interaction-limits", "put">; - /** - * @see https://docs.github.com/rest/issues/labels#set-labels-for-an-issue - */ - "PUT /repos/{owner}/{repo}/issues/{issue_number}/labels": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/labels", "put">; - /** - * @see https://docs.github.com/rest/issues/issues#lock-an-issue - */ - "PUT /repos/{owner}/{repo}/issues/{issue_number}/lock": Operation<"/repos/{owner}/{repo}/issues/{issue_number}/lock", "put">; - /** - * @see https://docs.github.com/rest/activity/notifications#mark-repository-notifications-as-read - */ - "PUT /repos/{owner}/{repo}/notifications": Operation<"/repos/{owner}/{repo}/notifications", "put">; - /** - * @see https://docs.github.com/rest/pages/pages#update-information-about-a-apiname-pages-site - */ - "PUT /repos/{owner}/{repo}/pages": Operation<"/repos/{owner}/{repo}/pages", "put">; - /** - * @see https://docs.github.com/rest/repos/repos#enable-private-vulnerability-reporting-for-a-repository - */ - "PUT /repos/{owner}/{repo}/private-vulnerability-reporting": Operation<"/repos/{owner}/{repo}/private-vulnerability-reporting", "put">; - /** - * @see https://docs.github.com/rest/pulls/pulls#merge-a-pull-request - */ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/merge", "put">; - /** - * @see https://docs.github.com/rest/pulls/reviews#update-a-review-for-a-pull-request - */ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}", "put">; - /** - * @see https://docs.github.com/rest/pulls/reviews#dismiss-a-review-for-a-pull-request - */ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals", "put">; - /** - * @see https://docs.github.com/rest/pulls/pulls#update-a-pull-request-branch - */ - "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch": Operation<"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch", "put">; - /** - * @see https://docs.github.com/rest/repos/rules#update-a-repository-ruleset - */ - "PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}": Operation<"/repos/{owner}/{repo}/rulesets/{ruleset_id}", "put">; - /** - * @see https://docs.github.com/rest/activity/watching#set-a-repository-subscription - */ - "PUT /repos/{owner}/{repo}/subscription": Operation<"/repos/{owner}/{repo}/subscription", "put">; - /** - * @see https://docs.github.com/rest/repos/repos#replace-all-repository-topics - */ - "PUT /repos/{owner}/{repo}/topics": Operation<"/repos/{owner}/{repo}/topics", "put">; - /** - * @see https://docs.github.com/rest/repos/repos#enable-vulnerability-alerts - */ - "PUT /repos/{owner}/{repo}/vulnerability-alerts": Operation<"/repos/{owner}/{repo}/vulnerability-alerts", "put">; - /** - * @see https://docs.github.com/rest/actions/secrets#create-or-update-an-environment-secret - */ - "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": Operation<"/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}", "put">; - /** - * @see https://docs.github.com/rest/teams/members#add-team-member-legacy - */ - "PUT /teams/{team_id}/members/{username}": Operation<"/teams/{team_id}/members/{username}", "put">; - /** - * @see https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user-legacy - */ - "PUT /teams/{team_id}/memberships/{username}": Operation<"/teams/{team_id}/memberships/{username}", "put">; - /** - * @see https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions-legacy - */ - "PUT /teams/{team_id}/projects/{project_id}": Operation<"/teams/{team_id}/projects/{project_id}", "put">; - /** - * @see https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions-legacy - */ - "PUT /teams/{team_id}/repos/{owner}/{repo}": Operation<"/teams/{team_id}/repos/{owner}/{repo}", "put">; - /** - * @see https://docs.github.com/rest/users/blocking#block-a-user - */ - "PUT /user/blocks/{username}": Operation<"/user/blocks/{username}", "put">; - /** - * @see https://docs.github.com/rest/codespaces/secrets#create-or-update-a-secret-for-the-authenticated-user - */ - "PUT /user/codespaces/secrets/{secret_name}": Operation<"/user/codespaces/secrets/{secret_name}", "put">; - /** - * @see https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret - */ - "PUT /user/codespaces/secrets/{secret_name}/repositories": Operation<"/user/codespaces/secrets/{secret_name}/repositories", "put">; - /** - * @see https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret - */ - "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}": Operation<"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}", "put">; - /** - * @see https://docs.github.com/rest/users/followers#follow-a-user - */ - "PUT /user/following/{username}": Operation<"/user/following/{username}", "put">; - /** - * @see https://docs.github.com/rest/apps/installations#add-a-repository-to-an-app-installation - */ - "PUT /user/installations/{installation_id}/repositories/{repository_id}": Operation<"/user/installations/{installation_id}/repositories/{repository_id}", "put">; - /** - * @see https://docs.github.com/rest/interactions/user#set-interaction-restrictions-for-your-public-repositories - */ - "PUT /user/interaction-limits": Operation<"/user/interaction-limits", "put">; - /** - * @see https://docs.github.com/rest/activity/starring#star-a-repository-for-the-authenticated-user - */ - "PUT /user/starred/{owner}/{repo}": Operation<"/user/starred/{owner}/{repo}", "put">; -} -export {}; diff --git a/node_modules/@octokit/types/dist-types/index.d.ts b/node_modules/@octokit/types/dist-types/index.d.ts deleted file mode 100644 index 004ae9b..0000000 --- a/node_modules/@octokit/types/dist-types/index.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -export * from "./AuthInterface"; -export * from "./EndpointDefaults"; -export * from "./EndpointInterface"; -export * from "./EndpointOptions"; -export * from "./Fetch"; -export * from "./OctokitResponse"; -export * from "./RequestError"; -export * from "./RequestHeaders"; -export * from "./RequestInterface"; -export * from "./RequestMethod"; -export * from "./RequestOptions"; -export * from "./RequestParameters"; -export * from "./RequestRequestOptions"; -export * from "./ResponseHeaders"; -export * from "./Route"; -export * from "./Signal"; -export * from "./StrategyInterface"; -export * from "./Url"; -export * from "./VERSION"; -export * from "./GetResponseTypeFromEndpointMethod"; -export * from "./generated/Endpoints"; diff --git a/node_modules/@octokit/types/package.json b/node_modules/@octokit/types/package.json deleted file mode 100644 index 7569d8a..0000000 --- a/node_modules/@octokit/types/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "@octokit/types", - "version": "12.0.0", - "publishConfig": { - "access": "public" - }, - "description": "Shared TypeScript definitions for Octokit projects", - "dependencies": { - "@octokit/openapi-types": "^19.0.0" - }, - "repository": "github:octokit/types.ts", - "keywords": [ - "github", - "api", - "sdk", - "toolkit", - "typescript" - ], - "author": "Gregor Martynus (https://twitter.com/gr2m)", - "license": "MIT", - "devDependencies": { - "@octokit/tsconfig": "^2.0.0", - "@types/node": ">= 8", - "github-openapi-graphql-query": "^4.0.0", - "handlebars": "^4.7.6", - "json-schema-to-typescript": "^13.0.0", - "lodash.set": "^4.3.2", - "npm-run-all": "^4.1.5", - "pascal-case": "^3.1.1", - "prettier": "^3.0.0", - "semantic-release": "^22.0.0", - "semantic-release-plugin-update-version-in-files": "^1.0.0", - "sort-keys": "^5.0.0", - "string-to-jsdoc-comment": "^1.0.0", - "typedoc": "^0.25.0", - "typescript": "^5.0.0" - }, - "octokit": { - "openapi-version": "13.0.0" - }, - "files": [ - "dist-types/**" - ], - "types": "dist-types/index.d.ts", - "sideEffects": false -} diff --git a/node_modules/ajv/.tonic_example.js b/node_modules/ajv/.tonic_example.js deleted file mode 100644 index aa11812..0000000 --- a/node_modules/ajv/.tonic_example.js +++ /dev/null @@ -1,20 +0,0 @@ -var Ajv = require('ajv'); -var ajv = new Ajv({allErrors: true}); - -var schema = { - "properties": { - "foo": { "type": "string" }, - "bar": { "type": "number", "maximum": 3 } - } -}; - -var validate = ajv.compile(schema); - -test({"foo": "abc", "bar": 2}); -test({"foo": 2, "bar": 4}); - -function test(data) { - var valid = validate(data); - if (valid) console.log('Valid!'); - else console.log('Invalid: ' + ajv.errorsText(validate.errors)); -} \ No newline at end of file diff --git a/node_modules/ajv/LICENSE b/node_modules/ajv/LICENSE deleted file mode 100644 index 96ee719..0000000 --- a/node_modules/ajv/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015-2017 Evgeny Poberezkin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/node_modules/ajv/README.md b/node_modules/ajv/README.md deleted file mode 100644 index 5aa2078..0000000 --- a/node_modules/ajv/README.md +++ /dev/null @@ -1,1497 +0,0 @@ -Ajv logo - -# Ajv: Another JSON Schema Validator - -The fastest JSON Schema validator for Node.js and browser. Supports draft-04/06/07. - -[![Build Status](https://travis-ci.org/ajv-validator/ajv.svg?branch=master)](https://travis-ci.org/ajv-validator/ajv) -[![npm](https://img.shields.io/npm/v/ajv.svg)](https://www.npmjs.com/package/ajv) -[![npm (beta)](https://img.shields.io/npm/v/ajv/beta)](https://www.npmjs.com/package/ajv/v/7.0.0-beta.0) -[![npm downloads](https://img.shields.io/npm/dm/ajv.svg)](https://www.npmjs.com/package/ajv) -[![Coverage Status](https://coveralls.io/repos/github/ajv-validator/ajv/badge.svg?branch=master)](https://coveralls.io/github/ajv-validator/ajv?branch=master) -[![Gitter](https://img.shields.io/gitter/room/ajv-validator/ajv.svg)](https://gitter.im/ajv-validator/ajv) -[![GitHub Sponsors](https://img.shields.io/badge/$-sponsors-brightgreen)](https://github.com/sponsors/epoberezkin) - - -## Ajv v7 beta is released - -[Ajv version 7.0.0-beta.0](https://github.com/ajv-validator/ajv/tree/v7-beta) is released with these changes: - -- to reduce the mistakes in JSON schemas and unexpected validation results, [strict mode](./docs/strict-mode.md) is added - it prohibits ignored or ambiguous JSON Schema elements. -- to make code injection from untrusted schemas impossible, [code generation](./docs/codegen.md) is fully re-written to be safe. -- to simplify Ajv extensions, the new keyword API that is used by pre-defined keywords is available to user-defined keywords - it is much easier to define any keywords now, especially with subschemas. -- schemas are compiled to ES6 code (ES5 code generation is supported with an option). -- to improve reliability and maintainability the code is migrated to TypeScript. - -**Please note**: - -- the support for JSON-Schema draft-04 is removed - if you have schemas using "id" attributes you have to replace them with "\$id" (or continue using version 6 that will be supported until 02/28/2021). -- all formats are separated to ajv-formats package - they have to be explicitely added if you use them. - -See [release notes](https://github.com/ajv-validator/ajv/releases/tag/v7.0.0-beta.0) for the details. - -To install the new version: - -```bash -npm install ajv@beta -``` - -See [Getting started with v7](https://github.com/ajv-validator/ajv/tree/v7-beta#usage) for code example. - - -## Mozilla MOSS grant and OpenJS Foundation - -[](https://www.mozilla.org/en-US/moss/)     [](https://openjsf.org/blog/2020/08/14/ajv-joins-openjs-foundation-as-an-incubation-project/) - -Ajv has been awarded a grant from Mozilla’s [Open Source Support (MOSS) program](https://www.mozilla.org/en-US/moss/) in the “Foundational Technology†track! It will sponsor the development of Ajv support of [JSON Schema version 2019-09](https://tools.ietf.org/html/draft-handrews-json-schema-02) and of [JSON Type Definition](https://tools.ietf.org/html/draft-ucarion-json-type-definition-04). - -Ajv also joined [OpenJS Foundation](https://openjsf.org/) – having this support will help ensure the longevity and stability of Ajv for all its users. - -This [blog post](https://www.poberezkin.com/posts/2020-08-14-ajv-json-validator-mozilla-open-source-grant-openjs-foundation.html) has more details. - -I am looking for the long term maintainers of Ajv – working with [ReadySet](https://www.thereadyset.co/), also sponsored by Mozilla, to establish clear guidelines for the role of a "maintainer" and the contribution standards, and to encourage a wider, more inclusive, contribution from the community. - - -## Please [sponsor Ajv development](https://github.com/sponsors/epoberezkin) - -Since I asked to support Ajv development 40 people and 6 organizations contributed via GitHub and OpenCollective - this support helped receiving the MOSS grant! - -Your continuing support is very important - the funds will be used to develop and maintain Ajv once the next major version is released. - -Please sponsor Ajv via: -- [GitHub sponsors page](https://github.com/sponsors/epoberezkin) (GitHub will match it) -- [Ajv Open Collectiveï¸](https://opencollective.com/ajv) - -Thank you. - - -#### Open Collective sponsors - - - - - - - - - - - - - - - -## Using version 6 - -[JSON Schema draft-07](http://json-schema.org/latest/json-schema-validation.html) is published. - -[Ajv version 6.0.0](https://github.com/ajv-validator/ajv/releases/tag/v6.0.0) that supports draft-07 is released. It may require either migrating your schemas or updating your code (to continue using draft-04 and v5 schemas, draft-06 schemas will be supported without changes). - -__Please note__: To use Ajv with draft-06 schemas you need to explicitly add the meta-schema to the validator instance: - -```javascript -ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json')); -``` - -To use Ajv with draft-04 schemas in addition to explicitly adding meta-schema you also need to use option schemaId: - -```javascript -var ajv = new Ajv({schemaId: 'id'}); -// If you want to use both draft-04 and draft-06/07 schemas: -// var ajv = new Ajv({schemaId: 'auto'}); -ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json')); -``` - - -## Contents - -- [Performance](#performance) -- [Features](#features) -- [Getting started](#getting-started) -- [Frequently Asked Questions](https://github.com/ajv-validator/ajv/blob/master/FAQ.md) -- [Using in browser](#using-in-browser) - - [Ajv and Content Security Policies (CSP)](#ajv-and-content-security-policies-csp) -- [Command line interface](#command-line-interface) -- Validation - - [Keywords](#validation-keywords) - - [Annotation keywords](#annotation-keywords) - - [Formats](#formats) - - [Combining schemas with $ref](#ref) - - [$data reference](#data-reference) - - NEW: [$merge and $patch keywords](#merge-and-patch-keywords) - - [Defining custom keywords](#defining-custom-keywords) - - [Asynchronous schema compilation](#asynchronous-schema-compilation) - - [Asynchronous validation](#asynchronous-validation) -- [Security considerations](#security-considerations) - - [Security contact](#security-contact) - - [Untrusted schemas](#untrusted-schemas) - - [Circular references in objects](#circular-references-in-javascript-objects) - - [Trusted schemas](#security-risks-of-trusted-schemas) - - [ReDoS attack](#redos-attack) -- Modifying data during validation - - [Filtering data](#filtering-data) - - [Assigning defaults](#assigning-defaults) - - [Coercing data types](#coercing-data-types) -- API - - [Methods](#api) - - [Options](#options) - - [Validation errors](#validation-errors) -- [Plugins](#plugins) -- [Related packages](#related-packages) -- [Some packages using Ajv](#some-packages-using-ajv) -- [Tests, Contributing, Changes history](#tests) -- [Support, Code of conduct, License](#open-source-software-support) - - -## Performance - -Ajv generates code using [doT templates](https://github.com/olado/doT) to turn JSON Schemas into super-fast validation functions that are efficient for v8 optimization. - -Currently Ajv is the fastest and the most standard compliant validator according to these benchmarks: - -- [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark) - 50% faster than the second place -- [jsck benchmark](https://github.com/pandastrike/jsck#benchmarks) - 20-190% faster -- [z-schema benchmark](https://rawgit.com/zaggino/z-schema/master/benchmark/results.html) -- [themis benchmark](https://cdn.rawgit.com/playlyfe/themis/master/benchmark/results.html) - - -Performance of different validators by [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark): - -[![performance](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=32,4,1&chs=600x416&chxl=-1:|djv|ajv|json-schema-validator-generator|jsen|is-my-json-valid|themis|z-schema|jsck|skeemas|json-schema-library|tv4&chd=t:100,98,72.1,66.8,50.1,15.1,6.1,3.8,1.2,0.7,0.2)](https://github.com/ebdrup/json-schema-benchmark/blob/master/README.md#performance) - - -## Features - -- Ajv implements full JSON Schema [draft-06/07](http://json-schema.org/) and draft-04 standards: - - all validation keywords (see [JSON Schema validation keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md)) - - full support of remote refs (remote schemas have to be added with `addSchema` or compiled to be available) - - support of circular references between schemas - - correct string lengths for strings with unicode pairs (can be turned off) - - [formats](#formats) defined by JSON Schema draft-07 standard and custom formats (can be turned off) - - [validates schemas against meta-schema](#api-validateschema) -- supports [browsers](#using-in-browser) and Node.js 0.10-14.x -- [asynchronous loading](#asynchronous-schema-compilation) of referenced schemas during compilation -- "All errors" validation mode with [option allErrors](#options) -- [error messages with parameters](#validation-errors) describing error reasons to allow creating custom error messages -- i18n error messages support with [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) package -- [filtering data](#filtering-data) from additional properties -- [assigning defaults](#assigning-defaults) to missing properties and items -- [coercing data](#coercing-data-types) to the types specified in `type` keywords -- [custom keywords](#defining-custom-keywords) -- draft-06/07 keywords `const`, `contains`, `propertyNames` and `if/then/else` -- draft-06 boolean schemas (`true`/`false` as a schema to always pass/fail). -- keywords `switch`, `patternRequired`, `formatMaximum` / `formatMinimum` and `formatExclusiveMaximum` / `formatExclusiveMinimum` from [JSON Schema extension proposals](https://github.com/json-schema/json-schema/wiki/v5-Proposals) with [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package -- [$data reference](#data-reference) to use values from the validated data as values for the schema keywords -- [asynchronous validation](#asynchronous-validation) of custom formats and keywords - - -## Install - -``` -npm install ajv -``` - - -## Getting started - -Try it in the Node.js REPL: https://tonicdev.com/npm/ajv - - -The fastest validation call: - -```javascript -// Node.js require: -var Ajv = require('ajv'); -// or ESM/TypeScript import -import Ajv from 'ajv'; - -var ajv = new Ajv(); // options can be passed, e.g. {allErrors: true} -var validate = ajv.compile(schema); -var valid = validate(data); -if (!valid) console.log(validate.errors); -``` - -or with less code - -```javascript -// ... -var valid = ajv.validate(schema, data); -if (!valid) console.log(ajv.errors); -// ... -``` - -or - -```javascript -// ... -var valid = ajv.addSchema(schema, 'mySchema') - .validate('mySchema', data); -if (!valid) console.log(ajv.errorsText()); -// ... -``` - -See [API](#api) and [Options](#options) for more details. - -Ajv compiles schemas to functions and caches them in all cases (using schema serialized with [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) or a custom function as a key), so that the next time the same schema is used (not necessarily the same object instance) it won't be compiled again. - -The best performance is achieved when using compiled functions returned by `compile` or `getSchema` methods (there is no additional function call). - -__Please note__: every time a validation function or `ajv.validate` are called `errors` property is overwritten. You need to copy `errors` array reference to another variable if you want to use it later (e.g., in the callback). See [Validation errors](#validation-errors) - -__Note for TypeScript users__: `ajv` provides its own TypeScript declarations -out of the box, so you don't need to install the deprecated `@types/ajv` -module. - - -## Using in browser - -You can require Ajv directly from the code you browserify - in this case Ajv will be a part of your bundle. - -If you need to use Ajv in several bundles you can create a separate UMD bundle using `npm run bundle` script (thanks to [siddo420](https://github.com/siddo420)). - -Then you need to load Ajv in the browser: -```html - -``` - -This bundle can be used with different module systems; it creates global `Ajv` if no module system is found. - -The browser bundle is available on [cdnjs](https://cdnjs.com/libraries/ajv). - -Ajv is tested with these browsers: - -[![Sauce Test Status](https://saucelabs.com/browser-matrix/epoberezkin.svg)](https://saucelabs.com/u/epoberezkin) - -__Please note__: some frameworks, e.g. Dojo, may redefine global require in such way that is not compatible with CommonJS module format. In such case Ajv bundle has to be loaded before the framework and then you can use global Ajv (see issue [#234](https://github.com/ajv-validator/ajv/issues/234)). - - -### Ajv and Content Security Policies (CSP) - -If you're using Ajv to compile a schema (the typical use) in a browser document that is loaded with a Content Security Policy (CSP), that policy will require a `script-src` directive that includes the value `'unsafe-eval'`. -:warning: NOTE, however, that `unsafe-eval` is NOT recommended in a secure CSP[[1]](https://developer.chrome.com/extensions/contentSecurityPolicy#relaxing-eval), as it has the potential to open the document to cross-site scripting (XSS) attacks. - -In order to make use of Ajv without easing your CSP, you can [pre-compile a schema using the CLI](https://github.com/ajv-validator/ajv-cli#compile-schemas). This will transpile the schema JSON into a JavaScript file that exports a `validate` function that works simlarly to a schema compiled at runtime. - -Note that pre-compilation of schemas is performed using [ajv-pack](https://github.com/ajv-validator/ajv-pack) and there are [some limitations to the schema features it can compile](https://github.com/ajv-validator/ajv-pack#limitations). A successfully pre-compiled schema is equivalent to the same schema compiled at runtime. - - -## Command line interface - -CLI is available as a separate npm package [ajv-cli](https://github.com/ajv-validator/ajv-cli). It supports: - -- compiling JSON Schemas to test their validity -- BETA: generating standalone module exporting a validation function to be used without Ajv (using [ajv-pack](https://github.com/ajv-validator/ajv-pack)) -- migrate schemas to draft-07 (using [json-schema-migrate](https://github.com/epoberezkin/json-schema-migrate)) -- validating data file(s) against JSON Schema -- testing expected validity of data against JSON Schema -- referenced schemas -- custom meta-schemas -- files in JSON, JSON5, YAML, and JavaScript format -- all Ajv options -- reporting changes in data after validation in [JSON-patch](https://tools.ietf.org/html/rfc6902) format - - -## Validation keywords - -Ajv supports all validation keywords from draft-07 of JSON Schema standard: - -- [type](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#type) -- [for numbers](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-numbers) - maximum, minimum, exclusiveMaximum, exclusiveMinimum, multipleOf -- [for strings](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-strings) - maxLength, minLength, pattern, format -- [for arrays](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-arrays) - maxItems, minItems, uniqueItems, items, additionalItems, [contains](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#contains) -- [for objects](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-objects) - maxProperties, minProperties, required, properties, patternProperties, additionalProperties, dependencies, [propertyNames](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#propertynames) -- [for all types](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#keywords-for-all-types) - enum, [const](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#const) -- [compound keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#compound-keywords) - not, oneOf, anyOf, allOf, [if/then/else](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#ifthenelse) - -With [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package Ajv also supports validation keywords from [JSON Schema extension proposals](https://github.com/json-schema/json-schema/wiki/v5-Proposals) for JSON Schema standard: - -- [patternRequired](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#patternrequired-proposed) - like `required` but with patterns that some property should match. -- [formatMaximum, formatMinimum, formatExclusiveMaximum, formatExclusiveMinimum](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md#formatmaximum--formatminimum-and-exclusiveformatmaximum--exclusiveformatminimum-proposed) - setting limits for date, time, etc. - -See [JSON Schema validation keywords](https://github.com/ajv-validator/ajv/blob/master/KEYWORDS.md) for more details. - - -## Annotation keywords - -JSON Schema specification defines several annotation keywords that describe schema itself but do not perform any validation. - -- `title` and `description`: information about the data represented by that schema -- `$comment` (NEW in draft-07): information for developers. With option `$comment` Ajv logs or passes the comment string to the user-supplied function. See [Options](#options). -- `default`: a default value of the data instance, see [Assigning defaults](#assigning-defaults). -- `examples` (NEW in draft-06): an array of data instances. Ajv does not check the validity of these instances against the schema. -- `readOnly` and `writeOnly` (NEW in draft-07): marks data-instance as read-only or write-only in relation to the source of the data (database, api, etc.). -- `contentEncoding`: [RFC 2045](https://tools.ietf.org/html/rfc2045#section-6.1 ), e.g., "base64". -- `contentMediaType`: [RFC 2046](https://tools.ietf.org/html/rfc2046), e.g., "image/png". - -__Please note__: Ajv does not implement validation of the keywords `examples`, `contentEncoding` and `contentMediaType` but it reserves them. If you want to create a plugin that implements some of them, it should remove these keywords from the instance. - - -## Formats - -Ajv implements formats defined by JSON Schema specification and several other formats. It is recommended NOT to use "format" keyword implementations with untrusted data, as they use potentially unsafe regular expressions - see [ReDoS attack](#redos-attack). - -__Please note__: if you need to use "format" keyword to validate untrusted data, you MUST assess their suitability and safety for your validation scenarios. - -The following formats are implemented for string validation with "format" keyword: - -- _date_: full-date according to [RFC3339](http://tools.ietf.org/html/rfc3339#section-5.6). -- _time_: time with optional time-zone. -- _date-time_: date-time from the same source (time-zone is mandatory). `date`, `time` and `date-time` validate ranges in `full` mode and only regexp in `fast` mode (see [options](#options)). -- _uri_: full URI. -- _uri-reference_: URI reference, including full and relative URIs. -- _uri-template_: URI template according to [RFC6570](https://tools.ietf.org/html/rfc6570) -- _url_ (deprecated): [URL record](https://url.spec.whatwg.org/#concept-url). -- _email_: email address. -- _hostname_: host name according to [RFC1034](http://tools.ietf.org/html/rfc1034#section-3.5). -- _ipv4_: IP address v4. -- _ipv6_: IP address v6. -- _regex_: tests whether a string is a valid regular expression by passing it to RegExp constructor. -- _uuid_: Universally Unique IDentifier according to [RFC4122](http://tools.ietf.org/html/rfc4122). -- _json-pointer_: JSON-pointer according to [RFC6901](https://tools.ietf.org/html/rfc6901). -- _relative-json-pointer_: relative JSON-pointer according to [this draft](http://tools.ietf.org/html/draft-luff-relative-json-pointer-00). - -__Please note__: JSON Schema draft-07 also defines formats `iri`, `iri-reference`, `idn-hostname` and `idn-email` for URLs, hostnames and emails with international characters. Ajv does not implement these formats. If you create Ajv plugin that implements them please make a PR to mention this plugin here. - -There are two modes of format validation: `fast` and `full`. This mode affects formats `date`, `time`, `date-time`, `uri`, `uri-reference`, and `email`. See [Options](#options) for details. - -You can add additional formats and replace any of the formats above using [addFormat](#api-addformat) method. - -The option `unknownFormats` allows changing the default behaviour when an unknown format is encountered. In this case Ajv can either fail schema compilation (default) or ignore it (default in versions before 5.0.0). You also can allow specific format(s) that will be ignored. See [Options](#options) for details. - -You can find regular expressions used for format validation and the sources that were used in [formats.js](https://github.com/ajv-validator/ajv/blob/master/lib/compile/formats.js). - - -## Combining schemas with $ref - -You can structure your validation logic across multiple schema files and have schemas reference each other using `$ref` keyword. - -Example: - -```javascript -var schema = { - "$id": "http://example.com/schemas/schema.json", - "type": "object", - "properties": { - "foo": { "$ref": "defs.json#/definitions/int" }, - "bar": { "$ref": "defs.json#/definitions/str" } - } -}; - -var defsSchema = { - "$id": "http://example.com/schemas/defs.json", - "definitions": { - "int": { "type": "integer" }, - "str": { "type": "string" } - } -}; -``` - -Now to compile your schema you can either pass all schemas to Ajv instance: - -```javascript -var ajv = new Ajv({schemas: [schema, defsSchema]}); -var validate = ajv.getSchema('http://example.com/schemas/schema.json'); -``` - -or use `addSchema` method: - -```javascript -var ajv = new Ajv; -var validate = ajv.addSchema(defsSchema) - .compile(schema); -``` - -See [Options](#options) and [addSchema](#api) method. - -__Please note__: -- `$ref` is resolved as the uri-reference using schema $id as the base URI (see the example). -- References can be recursive (and mutually recursive) to implement the schemas for different data structures (such as linked lists, trees, graphs, etc.). -- You don't have to host your schema files at the URIs that you use as schema $id. These URIs are only used to identify the schemas, and according to JSON Schema specification validators should not expect to be able to download the schemas from these URIs. -- The actual location of the schema file in the file system is not used. -- You can pass the identifier of the schema as the second parameter of `addSchema` method or as a property name in `schemas` option. This identifier can be used instead of (or in addition to) schema $id. -- You cannot have the same $id (or the schema identifier) used for more than one schema - the exception will be thrown. -- You can implement dynamic resolution of the referenced schemas using `compileAsync` method. In this way you can store schemas in any system (files, web, database, etc.) and reference them without explicitly adding to Ajv instance. See [Asynchronous schema compilation](#asynchronous-schema-compilation). - - -## $data reference - -With `$data` option you can use values from the validated data as the values for the schema keywords. See [proposal](https://github.com/json-schema-org/json-schema-spec/issues/51) for more information about how it works. - -`$data` reference is supported in the keywords: const, enum, format, maximum/minimum, exclusiveMaximum / exclusiveMinimum, maxLength / minLength, maxItems / minItems, maxProperties / minProperties, formatMaximum / formatMinimum, formatExclusiveMaximum / formatExclusiveMinimum, multipleOf, pattern, required, uniqueItems. - -The value of "$data" should be a [JSON-pointer](https://tools.ietf.org/html/rfc6901) to the data (the root is always the top level data object, even if the $data reference is inside a referenced subschema) or a [relative JSON-pointer](http://tools.ietf.org/html/draft-luff-relative-json-pointer-00) (it is relative to the current point in data; if the $data reference is inside a referenced subschema it cannot point to the data outside of the root level for this subschema). - -Examples. - -This schema requires that the value in property `smaller` is less or equal than the value in the property larger: - -```javascript -var ajv = new Ajv({$data: true}); - -var schema = { - "properties": { - "smaller": { - "type": "number", - "maximum": { "$data": "1/larger" } - }, - "larger": { "type": "number" } - } -}; - -var validData = { - smaller: 5, - larger: 7 -}; - -ajv.validate(schema, validData); // true -``` - -This schema requires that the properties have the same format as their field names: - -```javascript -var schema = { - "additionalProperties": { - "type": "string", - "format": { "$data": "0#" } - } -}; - -var validData = { - 'date-time': '1963-06-19T08:30:06.283185Z', - email: 'joe.bloggs@example.com' -} -``` - -`$data` reference is resolved safely - it won't throw even if some property is undefined. If `$data` resolves to `undefined` the validation succeeds (with the exclusion of `const` keyword). If `$data` resolves to incorrect type (e.g. not "number" for maximum keyword) the validation fails. - - -## $merge and $patch keywords - -With the package [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) you can use the keywords `$merge` and `$patch` that allow extending JSON Schemas with patches using formats [JSON Merge Patch (RFC 7396)](https://tools.ietf.org/html/rfc7396) and [JSON Patch (RFC 6902)](https://tools.ietf.org/html/rfc6902). - -To add keywords `$merge` and `$patch` to Ajv instance use this code: - -```javascript -require('ajv-merge-patch')(ajv); -``` - -Examples. - -Using `$merge`: - -```json -{ - "$merge": { - "source": { - "type": "object", - "properties": { "p": { "type": "string" } }, - "additionalProperties": false - }, - "with": { - "properties": { "q": { "type": "number" } } - } - } -} -``` - -Using `$patch`: - -```json -{ - "$patch": { - "source": { - "type": "object", - "properties": { "p": { "type": "string" } }, - "additionalProperties": false - }, - "with": [ - { "op": "add", "path": "/properties/q", "value": { "type": "number" } } - ] - } -} -``` - -The schemas above are equivalent to this schema: - -```json -{ - "type": "object", - "properties": { - "p": { "type": "string" }, - "q": { "type": "number" } - }, - "additionalProperties": false -} -``` - -The properties `source` and `with` in the keywords `$merge` and `$patch` can use absolute or relative `$ref` to point to other schemas previously added to the Ajv instance or to the fragments of the current schema. - -See the package [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) for more information. - - -## Defining custom keywords - -The advantages of using custom keywords are: - -- allow creating validation scenarios that cannot be expressed using JSON Schema -- simplify your schemas -- help bringing a bigger part of the validation logic to your schemas -- make your schemas more expressive, less verbose and closer to your application domain -- implement custom data processors that modify your data (`modifying` option MUST be used in keyword definition) and/or create side effects while the data is being validated - -If a keyword is used only for side-effects and its validation result is pre-defined, use option `valid: true/false` in keyword definition to simplify both generated code (no error handling in case of `valid: true`) and your keyword functions (no need to return any validation result). - -The concerns you have to be aware of when extending JSON Schema standard with custom keywords are the portability and understanding of your schemas. You will have to support these custom keywords on other platforms and to properly document these keywords so that everybody can understand them in your schemas. - -You can define custom keywords with [addKeyword](#api-addkeyword) method. Keywords are defined on the `ajv` instance level - new instances will not have previously defined keywords. - -Ajv allows defining keywords with: -- validation function -- compilation function -- macro function -- inline compilation function that should return code (as string) that will be inlined in the currently compiled schema. - -Example. `range` and `exclusiveRange` keywords using compiled schema: - -```javascript -ajv.addKeyword('range', { - type: 'number', - compile: function (sch, parentSchema) { - var min = sch[0]; - var max = sch[1]; - - return parentSchema.exclusiveRange === true - ? function (data) { return data > min && data < max; } - : function (data) { return data >= min && data <= max; } - } -}); - -var schema = { "range": [2, 4], "exclusiveRange": true }; -var validate = ajv.compile(schema); -console.log(validate(2.01)); // true -console.log(validate(3.99)); // true -console.log(validate(2)); // false -console.log(validate(4)); // false -``` - -Several custom keywords (typeof, instanceof, range and propertyNames) are defined in [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package - they can be used for your schemas and as a starting point for your own custom keywords. - -See [Defining custom keywords](https://github.com/ajv-validator/ajv/blob/master/CUSTOM.md) for more details. - - -## Asynchronous schema compilation - -During asynchronous compilation remote references are loaded using supplied function. See `compileAsync` [method](#api-compileAsync) and `loadSchema` [option](#options). - -Example: - -```javascript -var ajv = new Ajv({ loadSchema: loadSchema }); - -ajv.compileAsync(schema).then(function (validate) { - var valid = validate(data); - // ... -}); - -function loadSchema(uri) { - return request.json(uri).then(function (res) { - if (res.statusCode >= 400) - throw new Error('Loading error: ' + res.statusCode); - return res.body; - }); -} -``` - -__Please note__: [Option](#options) `missingRefs` should NOT be set to `"ignore"` or `"fail"` for asynchronous compilation to work. - - -## Asynchronous validation - -Example in Node.js REPL: https://tonicdev.com/esp/ajv-asynchronous-validation - -You can define custom formats and keywords that perform validation asynchronously by accessing database or some other service. You should add `async: true` in the keyword or format definition (see [addFormat](#api-addformat), [addKeyword](#api-addkeyword) and [Defining custom keywords](#defining-custom-keywords)). - -If your schema uses asynchronous formats/keywords or refers to some schema that contains them it should have `"$async": true` keyword so that Ajv can compile it correctly. If asynchronous format/keyword or reference to asynchronous schema is used in the schema without `$async` keyword Ajv will throw an exception during schema compilation. - -__Please note__: all asynchronous subschemas that are referenced from the current or other schemas should have `"$async": true` keyword as well, otherwise the schema compilation will fail. - -Validation function for an asynchronous custom format/keyword should return a promise that resolves with `true` or `false` (or rejects with `new Ajv.ValidationError(errors)` if you want to return custom errors from the keyword function). - -Ajv compiles asynchronous schemas to [es7 async functions](http://tc39.github.io/ecmascript-asyncawait/) that can optionally be transpiled with [nodent](https://github.com/MatAtBread/nodent). Async functions are supported in Node.js 7+ and all modern browsers. You can also supply any other transpiler as a function via `processCode` option. See [Options](#options). - -The compiled validation function has `$async: true` property (if the schema is asynchronous), so you can differentiate these functions if you are using both synchronous and asynchronous schemas. - -Validation result will be a promise that resolves with validated data or rejects with an exception `Ajv.ValidationError` that contains the array of validation errors in `errors` property. - - -Example: - -```javascript -var ajv = new Ajv; -// require('ajv-async')(ajv); - -ajv.addKeyword('idExists', { - async: true, - type: 'number', - validate: checkIdExists -}); - - -function checkIdExists(schema, data) { - return knex(schema.table) - .select('id') - .where('id', data) - .then(function (rows) { - return !!rows.length; // true if record is found - }); -} - -var schema = { - "$async": true, - "properties": { - "userId": { - "type": "integer", - "idExists": { "table": "users" } - }, - "postId": { - "type": "integer", - "idExists": { "table": "posts" } - } - } -}; - -var validate = ajv.compile(schema); - -validate({ userId: 1, postId: 19 }) -.then(function (data) { - console.log('Data is valid', data); // { userId: 1, postId: 19 } -}) -.catch(function (err) { - if (!(err instanceof Ajv.ValidationError)) throw err; - // data is invalid - console.log('Validation errors:', err.errors); -}); -``` - -### Using transpilers with asynchronous validation functions. - -[ajv-async](https://github.com/ajv-validator/ajv-async) uses [nodent](https://github.com/MatAtBread/nodent) to transpile async functions. To use another transpiler you should separately install it (or load its bundle in the browser). - - -#### Using nodent - -```javascript -var ajv = new Ajv; -require('ajv-async')(ajv); -// in the browser if you want to load ajv-async bundle separately you can: -// window.ajvAsync(ajv); -var validate = ajv.compile(schema); // transpiled es7 async function -validate(data).then(successFunc).catch(errorFunc); -``` - - -#### Using other transpilers - -```javascript -var ajv = new Ajv({ processCode: transpileFunc }); -var validate = ajv.compile(schema); // transpiled es7 async function -validate(data).then(successFunc).catch(errorFunc); -``` - -See [Options](#options). - - -## Security considerations - -JSON Schema, if properly used, can replace data sanitisation. It doesn't replace other API security considerations. It also introduces additional security aspects to consider. - - -##### Security contact - -To report a security vulnerability, please use the -[Tidelift security contact](https://tidelift.com/security). -Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerabilities via GitHub issues. - - -##### Untrusted schemas - -Ajv treats JSON schemas as trusted as your application code. This security model is based on the most common use case, when the schemas are static and bundled together with the application. - -If your schemas are received from untrusted sources (or generated from untrusted data) there are several scenarios you need to prevent: -- compiling schemas can cause stack overflow (if they are too deep) -- compiling schemas can be slow (e.g. [#557](https://github.com/ajv-validator/ajv/issues/557)) -- validating certain data can be slow - -It is difficult to predict all the scenarios, but at the very least it may help to limit the size of untrusted schemas (e.g. limit JSON string length) and also the maximum schema object depth (that can be high for relatively small JSON strings). You also may want to mitigate slow regular expressions in `pattern` and `patternProperties` keywords. - -Regardless the measures you take, using untrusted schemas increases security risks. - - -##### Circular references in JavaScript objects - -Ajv does not support schemas and validated data that have circular references in objects. See [issue #802](https://github.com/ajv-validator/ajv/issues/802). - -An attempt to compile such schemas or validate such data would cause stack overflow (or will not complete in case of asynchronous validation). Depending on the parser you use, untrusted data can lead to circular references. - - -##### Security risks of trusted schemas - -Some keywords in JSON Schemas can lead to very slow validation for certain data. These keywords include (but may be not limited to): - -- `pattern` and `format` for large strings - in some cases using `maxLength` can help mitigate it, but certain regular expressions can lead to exponential validation time even with relatively short strings (see [ReDoS attack](#redos-attack)). -- `patternProperties` for large property names - use `propertyNames` to mitigate, but some regular expressions can have exponential evaluation time as well. -- `uniqueItems` for large non-scalar arrays - use `maxItems` to mitigate - -__Please note__: The suggestions above to prevent slow validation would only work if you do NOT use `allErrors: true` in production code (using it would continue validation after validation errors). - -You can validate your JSON schemas against [this meta-schema](https://github.com/ajv-validator/ajv/blob/master/lib/refs/json-schema-secure.json) to check that these recommendations are followed: - -```javascript -const isSchemaSecure = ajv.compile(require('ajv/lib/refs/json-schema-secure.json')); - -const schema1 = {format: 'email'}; -isSchemaSecure(schema1); // false - -const schema2 = {format: 'email', maxLength: MAX_LENGTH}; -isSchemaSecure(schema2); // true -``` - -__Please note__: following all these recommendation is not a guarantee that validation of untrusted data is safe - it can still lead to some undesirable results. - - -##### Content Security Policies (CSP) -See [Ajv and Content Security Policies (CSP)](#ajv-and-content-security-policies-csp) - - -## ReDoS attack - -Certain regular expressions can lead to the exponential evaluation time even with relatively short strings. - -Please assess the regular expressions you use in the schemas on their vulnerability to this attack - see [safe-regex](https://github.com/substack/safe-regex), for example. - -__Please note__: some formats that Ajv implements use [regular expressions](https://github.com/ajv-validator/ajv/blob/master/lib/compile/formats.js) that can be vulnerable to ReDoS attack, so if you use Ajv to validate data from untrusted sources __it is strongly recommended__ to consider the following: - -- making assessment of "format" implementations in Ajv. -- using `format: 'fast'` option that simplifies some of the regular expressions (although it does not guarantee that they are safe). -- replacing format implementations provided by Ajv with your own implementations of "format" keyword that either uses different regular expressions or another approach to format validation. Please see [addFormat](#api-addformat) method. -- disabling format validation by ignoring "format" keyword with option `format: false` - -Whatever mitigation you choose, please assume all formats provided by Ajv as potentially unsafe and make your own assessment of their suitability for your validation scenarios. - - -## Filtering data - -With [option `removeAdditional`](#options) (added by [andyscott](https://github.com/andyscott)) you can filter data during the validation. - -This option modifies original data. - -Example: - -```javascript -var ajv = new Ajv({ removeAdditional: true }); -var schema = { - "additionalProperties": false, - "properties": { - "foo": { "type": "number" }, - "bar": { - "additionalProperties": { "type": "number" }, - "properties": { - "baz": { "type": "string" } - } - } - } -} - -var data = { - "foo": 0, - "additional1": 1, // will be removed; `additionalProperties` == false - "bar": { - "baz": "abc", - "additional2": 2 // will NOT be removed; `additionalProperties` != false - }, -} - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // { "foo": 0, "bar": { "baz": "abc", "additional2": 2 } -``` - -If `removeAdditional` option in the example above were `"all"` then both `additional1` and `additional2` properties would have been removed. - -If the option were `"failing"` then property `additional1` would have been removed regardless of its value and property `additional2` would have been removed only if its value were failing the schema in the inner `additionalProperties` (so in the example above it would have stayed because it passes the schema, but any non-number would have been removed). - -__Please note__: If you use `removeAdditional` option with `additionalProperties` keyword inside `anyOf`/`oneOf` keywords your validation can fail with this schema, for example: - -```json -{ - "type": "object", - "oneOf": [ - { - "properties": { - "foo": { "type": "string" } - }, - "required": [ "foo" ], - "additionalProperties": false - }, - { - "properties": { - "bar": { "type": "integer" } - }, - "required": [ "bar" ], - "additionalProperties": false - } - ] -} -``` - -The intention of the schema above is to allow objects with either the string property "foo" or the integer property "bar", but not with both and not with any other properties. - -With the option `removeAdditional: true` the validation will pass for the object `{ "foo": "abc"}` but will fail for the object `{"bar": 1}`. It happens because while the first subschema in `oneOf` is validated, the property `bar` is removed because it is an additional property according to the standard (because it is not included in `properties` keyword in the same schema). - -While this behaviour is unexpected (issues [#129](https://github.com/ajv-validator/ajv/issues/129), [#134](https://github.com/ajv-validator/ajv/issues/134)), it is correct. To have the expected behaviour (both objects are allowed and additional properties are removed) the schema has to be refactored in this way: - -```json -{ - "type": "object", - "properties": { - "foo": { "type": "string" }, - "bar": { "type": "integer" } - }, - "additionalProperties": false, - "oneOf": [ - { "required": [ "foo" ] }, - { "required": [ "bar" ] } - ] -} -``` - -The schema above is also more efficient - it will compile into a faster function. - - -## Assigning defaults - -With [option `useDefaults`](#options) Ajv will assign values from `default` keyword in the schemas of `properties` and `items` (when it is the array of schemas) to the missing properties and items. - -With the option value `"empty"` properties and items equal to `null` or `""` (empty string) will be considered missing and assigned defaults. - -This option modifies original data. - -__Please note__: the default value is inserted in the generated validation code as a literal, so the value inserted in the data will be the deep clone of the default in the schema. - - -Example 1 (`default` in `properties`): - -```javascript -var ajv = new Ajv({ useDefaults: true }); -var schema = { - "type": "object", - "properties": { - "foo": { "type": "number" }, - "bar": { "type": "string", "default": "baz" } - }, - "required": [ "foo", "bar" ] -}; - -var data = { "foo": 1 }; - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // { "foo": 1, "bar": "baz" } -``` - -Example 2 (`default` in `items`): - -```javascript -var schema = { - "type": "array", - "items": [ - { "type": "number" }, - { "type": "string", "default": "foo" } - ] -} - -var data = [ 1 ]; - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // [ 1, "foo" ] -``` - -`default` keywords in other cases are ignored: - -- not in `properties` or `items` subschemas -- in schemas inside `anyOf`, `oneOf` and `not` (see [#42](https://github.com/ajv-validator/ajv/issues/42)) -- in `if` subschema of `switch` keyword -- in schemas generated by custom macro keywords - -The [`strictDefaults` option](#options) customizes Ajv's behavior for the defaults that Ajv ignores (`true` raises an error, and `"log"` outputs a warning). - - -## Coercing data types - -When you are validating user inputs all your data properties are usually strings. The option `coerceTypes` allows you to have your data types coerced to the types specified in your schema `type` keywords, both to pass the validation and to use the correctly typed data afterwards. - -This option modifies original data. - -__Please note__: if you pass a scalar value to the validating function its type will be coerced and it will pass the validation, but the value of the variable you pass won't be updated because scalars are passed by value. - - -Example 1: - -```javascript -var ajv = new Ajv({ coerceTypes: true }); -var schema = { - "type": "object", - "properties": { - "foo": { "type": "number" }, - "bar": { "type": "boolean" } - }, - "required": [ "foo", "bar" ] -}; - -var data = { "foo": "1", "bar": "false" }; - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // { "foo": 1, "bar": false } -``` - -Example 2 (array coercions): - -```javascript -var ajv = new Ajv({ coerceTypes: 'array' }); -var schema = { - "properties": { - "foo": { "type": "array", "items": { "type": "number" } }, - "bar": { "type": "boolean" } - } -}; - -var data = { "foo": "1", "bar": ["false"] }; - -var validate = ajv.compile(schema); - -console.log(validate(data)); // true -console.log(data); // { "foo": [1], "bar": false } -``` - -The coercion rules, as you can see from the example, are different from JavaScript both to validate user input as expected and to have the coercion reversible (to correctly validate cases where different types are defined in subschemas of "anyOf" and other compound keywords). - -See [Coercion rules](https://github.com/ajv-validator/ajv/blob/master/COERCION.md) for details. - - -## API - -##### new Ajv(Object options) -> Object - -Create Ajv instance. - - -##### .compile(Object schema) -> Function<Object data> - -Generate validating function and cache the compiled schema for future use. - -Validating function returns a boolean value. This function has properties `errors` and `schema`. Errors encountered during the last validation are assigned to `errors` property (it is assigned `null` if there was no errors). `schema` property contains the reference to the original schema. - -The schema passed to this method will be validated against meta-schema unless `validateSchema` option is false. If schema is invalid, an error will be thrown. See [options](#options). - - -##### .compileAsync(Object schema [, Boolean meta] [, Function callback]) -> Promise - -Asynchronous version of `compile` method that loads missing remote schemas using asynchronous function in `options.loadSchema`. This function returns a Promise that resolves to a validation function. An optional callback passed to `compileAsync` will be called with 2 parameters: error (or null) and validating function. The returned promise will reject (and the callback will be called with an error) when: - -- missing schema can't be loaded (`loadSchema` returns a Promise that rejects). -- a schema containing a missing reference is loaded, but the reference cannot be resolved. -- schema (or some loaded/referenced schema) is invalid. - -The function compiles schema and loads the first missing schema (or meta-schema) until all missing schemas are loaded. - -You can asynchronously compile meta-schema by passing `true` as the second parameter. - -See example in [Asynchronous compilation](#asynchronous-schema-compilation). - - -##### .validate(Object schema|String key|String ref, data) -> Boolean - -Validate data using passed schema (it will be compiled and cached). - -Instead of the schema you can use the key that was previously passed to `addSchema`, the schema id if it was present in the schema or any previously resolved reference. - -Validation errors will be available in the `errors` property of Ajv instance (`null` if there were no errors). - -__Please note__: every time this method is called the errors are overwritten so you need to copy them to another variable if you want to use them later. - -If the schema is asynchronous (has `$async` keyword on the top level) this method returns a Promise. See [Asynchronous validation](#asynchronous-validation). - - -##### .addSchema(Array<Object>|Object schema [, String key]) -> Ajv - -Add schema(s) to validator instance. This method does not compile schemas (but it still validates them). Because of that dependencies can be added in any order and circular dependencies are supported. It also prevents unnecessary compilation of schemas that are containers for other schemas but not used as a whole. - -Array of schemas can be passed (schemas should have ids), the second parameter will be ignored. - -Key can be passed that can be used to reference the schema and will be used as the schema id if there is no id inside the schema. If the key is not passed, the schema id will be used as the key. - - -Once the schema is added, it (and all the references inside it) can be referenced in other schemas and used to validate data. - -Although `addSchema` does not compile schemas, explicit compilation is not required - the schema will be compiled when it is used first time. - -By default the schema is validated against meta-schema before it is added, and if the schema does not pass validation the exception is thrown. This behaviour is controlled by `validateSchema` option. - -__Please note__: Ajv uses the [method chaining syntax](https://en.wikipedia.org/wiki/Method_chaining) for all methods with the prefix `add*` and `remove*`. -This allows you to do nice things like the following. - -```javascript -var validate = new Ajv().addSchema(schema).addFormat(name, regex).getSchema(uri); -``` - -##### .addMetaSchema(Array<Object>|Object schema [, String key]) -> Ajv - -Adds meta schema(s) that can be used to validate other schemas. That function should be used instead of `addSchema` because there may be instance options that would compile a meta schema incorrectly (at the moment it is `removeAdditional` option). - -There is no need to explicitly add draft-07 meta schema (http://json-schema.org/draft-07/schema) - it is added by default, unless option `meta` is set to `false`. You only need to use it if you have a changed meta-schema that you want to use to validate your schemas. See `validateSchema`. - - -##### .validateSchema(Object schema) -> Boolean - -Validates schema. This method should be used to validate schemas rather than `validate` due to the inconsistency of `uri` format in JSON Schema standard. - -By default this method is called automatically when the schema is added, so you rarely need to use it directly. - -If schema doesn't have `$schema` property, it is validated against draft 6 meta-schema (option `meta` should not be false). - -If schema has `$schema` property, then the schema with this id (that should be previously added) is used to validate passed schema. - -Errors will be available at `ajv.errors`. - - -##### .getSchema(String key) -> Function<Object data> - -Retrieve compiled schema previously added with `addSchema` by the key passed to `addSchema` or by its full reference (id). The returned validating function has `schema` property with the reference to the original schema. - - -##### .removeSchema([Object schema|String key|String ref|RegExp pattern]) -> Ajv - -Remove added/cached schema. Even if schema is referenced by other schemas it can be safely removed as dependent schemas have local references. - -Schema can be removed using: -- key passed to `addSchema` -- it's full reference (id) -- RegExp that should match schema id or key (meta-schemas won't be removed) -- actual schema object that will be stable-stringified to remove schema from cache - -If no parameter is passed all schemas but meta-schemas will be removed and the cache will be cleared. - - -##### .addFormat(String name, String|RegExp|Function|Object format) -> Ajv - -Add custom format to validate strings or numbers. It can also be used to replace pre-defined formats for Ajv instance. - -Strings are converted to RegExp. - -Function should return validation result as `true` or `false`. - -If object is passed it should have properties `validate`, `compare` and `async`: - -- _validate_: a string, RegExp or a function as described above. -- _compare_: an optional comparison function that accepts two strings and compares them according to the format meaning. This function is used with keywords `formatMaximum`/`formatMinimum` (defined in [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) package). It should return `1` if the first value is bigger than the second value, `-1` if it is smaller and `0` if it is equal. -- _async_: an optional `true` value if `validate` is an asynchronous function; in this case it should return a promise that resolves with a value `true` or `false`. -- _type_: an optional type of data that the format applies to. It can be `"string"` (default) or `"number"` (see https://github.com/ajv-validator/ajv/issues/291#issuecomment-259923858). If the type of data is different, the validation will pass. - -Custom formats can be also added via `formats` option. - - -##### .addKeyword(String keyword, Object definition) -> Ajv - -Add custom validation keyword to Ajv instance. - -Keyword should be different from all standard JSON Schema keywords and different from previously defined keywords. There is no way to redefine keywords or to remove keyword definition from the instance. - -Keyword must start with a letter, `_` or `$`, and may continue with letters, numbers, `_`, `$`, or `-`. -It is recommended to use an application-specific prefix for keywords to avoid current and future name collisions. - -Example Keywords: -- `"xyz-example"`: valid, and uses prefix for the xyz project to avoid name collisions. -- `"example"`: valid, but not recommended as it could collide with future versions of JSON Schema etc. -- `"3-example"`: invalid as numbers are not allowed to be the first character in a keyword - -Keyword definition is an object with the following properties: - -- _type_: optional string or array of strings with data type(s) that the keyword applies to. If not present, the keyword will apply to all types. -- _validate_: validating function -- _compile_: compiling function -- _macro_: macro function -- _inline_: compiling function that returns code (as string) -- _schema_: an optional `false` value used with "validate" keyword to not pass schema -- _metaSchema_: an optional meta-schema for keyword schema -- _dependencies_: an optional list of properties that must be present in the parent schema - it will be checked during schema compilation -- _modifying_: `true` MUST be passed if keyword modifies data -- _statements_: `true` can be passed in case inline keyword generates statements (as opposed to expression) -- _valid_: pass `true`/`false` to pre-define validation result, the result returned from validation function will be ignored. This option cannot be used with macro keywords. -- _$data_: an optional `true` value to support [$data reference](#data-reference) as the value of custom keyword. The reference will be resolved at validation time. If the keyword has meta-schema it would be extended to allow $data and it will be used to validate the resolved value. Supporting $data reference requires that keyword has validating function (as the only option or in addition to compile, macro or inline function). -- _async_: an optional `true` value if the validation function is asynchronous (whether it is compiled or passed in _validate_ property); in this case it should return a promise that resolves with a value `true` or `false`. This option is ignored in case of "macro" and "inline" keywords. -- _errors_: an optional boolean or string `"full"` indicating whether keyword returns errors. If this property is not set Ajv will determine if the errors were set in case of failed validation. - -_compile_, _macro_ and _inline_ are mutually exclusive, only one should be used at a time. _validate_ can be used separately or in addition to them to support $data reference. - -__Please note__: If the keyword is validating data type that is different from the type(s) in its definition, the validation function will not be called (and expanded macro will not be used), so there is no need to check for data type inside validation function or inside schema returned by macro function (unless you want to enforce a specific type and for some reason do not want to use a separate `type` keyword for that). In the same way as standard keywords work, if the keyword does not apply to the data type being validated, the validation of this keyword will succeed. - -See [Defining custom keywords](#defining-custom-keywords) for more details. - - -##### .getKeyword(String keyword) -> Object|Boolean - -Returns custom keyword definition, `true` for pre-defined keywords and `false` if the keyword is unknown. - - -##### .removeKeyword(String keyword) -> Ajv - -Removes custom or pre-defined keyword so you can redefine them. - -While this method can be used to extend pre-defined keywords, it can also be used to completely change their meaning - it may lead to unexpected results. - -__Please note__: schemas compiled before the keyword is removed will continue to work without changes. To recompile schemas use `removeSchema` method and compile them again. - - -##### .errorsText([Array<Object> errors [, Object options]]) -> String - -Returns the text with all errors in a String. - -Options can have properties `separator` (string used to separate errors, ", " by default) and `dataVar` (the variable name that dataPaths are prefixed with, "data" by default). - - -## Options - -Defaults: - -```javascript -{ - // validation and reporting options: - $data: false, - allErrors: false, - verbose: false, - $comment: false, // NEW in Ajv version 6.0 - jsonPointers: false, - uniqueItems: true, - unicode: true, - nullable: false, - format: 'fast', - formats: {}, - unknownFormats: true, - schemas: {}, - logger: undefined, - // referenced schema options: - schemaId: '$id', - missingRefs: true, - extendRefs: 'ignore', // recommended 'fail' - loadSchema: undefined, // function(uri: string): Promise {} - // options to modify validated data: - removeAdditional: false, - useDefaults: false, - coerceTypes: false, - // strict mode options - strictDefaults: false, - strictKeywords: false, - strictNumbers: false, - // asynchronous validation options: - transpile: undefined, // requires ajv-async package - // advanced options: - meta: true, - validateSchema: true, - addUsedSchema: true, - inlineRefs: true, - passContext: false, - loopRequired: Infinity, - ownProperties: false, - multipleOfPrecision: false, - errorDataPath: 'object', // deprecated - messages: true, - sourceCode: false, - processCode: undefined, // function (str: string, schema: object): string {} - cache: new Cache, - serialize: undefined -} -``` - -##### Validation and reporting options - -- _$data_: support [$data references](#data-reference). Draft 6 meta-schema that is added by default will be extended to allow them. If you want to use another meta-schema you need to use $dataMetaSchema method to add support for $data reference. See [API](#api). -- _allErrors_: check all rules collecting all errors. Default is to return after the first error. -- _verbose_: include the reference to the part of the schema (`schema` and `parentSchema`) and validated data in errors (false by default). -- _$comment_ (NEW in Ajv version 6.0): log or pass the value of `$comment` keyword to a function. Option values: - - `false` (default): ignore $comment keyword. - - `true`: log the keyword value to console. - - function: pass the keyword value, its schema path and root schema to the specified function -- _jsonPointers_: set `dataPath` property of errors using [JSON Pointers](https://tools.ietf.org/html/rfc6901) instead of JavaScript property access notation. -- _uniqueItems_: validate `uniqueItems` keyword (true by default). -- _unicode_: calculate correct length of strings with unicode pairs (true by default). Pass `false` to use `.length` of strings that is faster, but gives "incorrect" lengths of strings with unicode pairs - each unicode pair is counted as two characters. -- _nullable_: support keyword "nullable" from [Open API 3 specification](https://swagger.io/docs/specification/data-models/data-types/). -- _format_: formats validation mode. Option values: - - `"fast"` (default) - simplified and fast validation (see [Formats](#formats) for details of which formats are available and affected by this option). - - `"full"` - more restrictive and slow validation. E.g., 25:00:00 and 2015/14/33 will be invalid time and date in 'full' mode but it will be valid in 'fast' mode. - - `false` - ignore all format keywords. -- _formats_: an object with custom formats. Keys and values will be passed to `addFormat` method. -- _keywords_: an object with custom keywords. Keys and values will be passed to `addKeyword` method. -- _unknownFormats_: handling of unknown formats. Option values: - - `true` (default) - if an unknown format is encountered the exception is thrown during schema compilation. If `format` keyword value is [$data reference](#data-reference) and it is unknown the validation will fail. - - `[String]` - an array of unknown format names that will be ignored. This option can be used to allow usage of third party schemas with format(s) for which you don't have definitions, but still fail if another unknown format is used. If `format` keyword value is [$data reference](#data-reference) and it is not in this array the validation will fail. - - `"ignore"` - to log warning during schema compilation and always pass validation (the default behaviour in versions before 5.0.0). This option is not recommended, as it allows to mistype format name and it won't be validated without any error message. This behaviour is required by JSON Schema specification. -- _schemas_: an array or object of schemas that will be added to the instance. In case you pass the array the schemas must have IDs in them. When the object is passed the method `addSchema(value, key)` will be called for each schema in this object. -- _logger_: sets the logging method. Default is the global `console` object that should have methods `log`, `warn` and `error`. See [Error logging](#error-logging). Option values: - - custom logger - it should have methods `log`, `warn` and `error`. If any of these methods is missing an exception will be thrown. - - `false` - logging is disabled. - - -##### Referenced schema options - -- _schemaId_: this option defines which keywords are used as schema URI. Option value: - - `"$id"` (default) - only use `$id` keyword as schema URI (as specified in JSON Schema draft-06/07), ignore `id` keyword (if it is present a warning will be logged). - - `"id"` - only use `id` keyword as schema URI (as specified in JSON Schema draft-04), ignore `$id` keyword (if it is present a warning will be logged). - - `"auto"` - use both `$id` and `id` keywords as schema URI. If both are present (in the same schema object) and different the exception will be thrown during schema compilation. -- _missingRefs_: handling of missing referenced schemas. Option values: - - `true` (default) - if the reference cannot be resolved during compilation the exception is thrown. The thrown error has properties `missingRef` (with hash fragment) and `missingSchema` (without it). Both properties are resolved relative to the current base id (usually schema id, unless it was substituted). - - `"ignore"` - to log error during compilation and always pass validation. - - `"fail"` - to log error and successfully compile schema but fail validation if this rule is checked. -- _extendRefs_: validation of other keywords when `$ref` is present in the schema. Option values: - - `"ignore"` (default) - when `$ref` is used other keywords are ignored (as per [JSON Reference](https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03#section-3) standard). A warning will be logged during the schema compilation. - - `"fail"` (recommended) - if other validation keywords are used together with `$ref` the exception will be thrown when the schema is compiled. This option is recommended to make sure schema has no keywords that are ignored, which can be confusing. - - `true` - validate all keywords in the schemas with `$ref` (the default behaviour in versions before 5.0.0). -- _loadSchema_: asynchronous function that will be used to load remote schemas when `compileAsync` [method](#api-compileAsync) is used and some reference is missing (option `missingRefs` should NOT be 'fail' or 'ignore'). This function should accept remote schema uri as a parameter and return a Promise that resolves to a schema. See example in [Asynchronous compilation](#asynchronous-schema-compilation). - - -##### Options to modify validated data - -- _removeAdditional_: remove additional properties - see example in [Filtering data](#filtering-data). This option is not used if schema is added with `addMetaSchema` method. Option values: - - `false` (default) - not to remove additional properties - - `"all"` - all additional properties are removed, regardless of `additionalProperties` keyword in schema (and no validation is made for them). - - `true` - only additional properties with `additionalProperties` keyword equal to `false` are removed. - - `"failing"` - additional properties that fail schema validation will be removed (where `additionalProperties` keyword is `false` or schema). -- _useDefaults_: replace missing or undefined properties and items with the values from corresponding `default` keywords. Default behaviour is to ignore `default` keywords. This option is not used if schema is added with `addMetaSchema` method. See examples in [Assigning defaults](#assigning-defaults). Option values: - - `false` (default) - do not use defaults - - `true` - insert defaults by value (object literal is used). - - `"empty"` - in addition to missing or undefined, use defaults for properties and items that are equal to `null` or `""` (an empty string). - - `"shared"` (deprecated) - insert defaults by reference. If the default is an object, it will be shared by all instances of validated data. If you modify the inserted default in the validated data, it will be modified in the schema as well. -- _coerceTypes_: change data type of data to match `type` keyword. See the example in [Coercing data types](#coercing-data-types) and [coercion rules](https://github.com/ajv-validator/ajv/blob/master/COERCION.md). Option values: - - `false` (default) - no type coercion. - - `true` - coerce scalar data types. - - `"array"` - in addition to coercions between scalar types, coerce scalar data to an array with one element and vice versa (as required by the schema). - - -##### Strict mode options - -- _strictDefaults_: report ignored `default` keywords in schemas. Option values: - - `false` (default) - ignored defaults are not reported - - `true` - if an ignored default is present, throw an error - - `"log"` - if an ignored default is present, log warning -- _strictKeywords_: report unknown keywords in schemas. Option values: - - `false` (default) - unknown keywords are not reported - - `true` - if an unknown keyword is present, throw an error - - `"log"` - if an unknown keyword is present, log warning -- _strictNumbers_: validate numbers strictly, failing validation for NaN and Infinity. Option values: - - `false` (default) - NaN or Infinity will pass validation for numeric types - - `true` - NaN or Infinity will not pass validation for numeric types - -##### Asynchronous validation options - -- _transpile_: Requires [ajv-async](https://github.com/ajv-validator/ajv-async) package. It determines whether Ajv transpiles compiled asynchronous validation function. Option values: - - `undefined` (default) - transpile with [nodent](https://github.com/MatAtBread/nodent) if async functions are not supported. - - `true` - always transpile with nodent. - - `false` - do not transpile; if async functions are not supported an exception will be thrown. - - -##### Advanced options - -- _meta_: add [meta-schema](http://json-schema.org/documentation.html) so it can be used by other schemas (true by default). If an object is passed, it will be used as the default meta-schema for schemas that have no `$schema` keyword. This default meta-schema MUST have `$schema` keyword. -- _validateSchema_: validate added/compiled schemas against meta-schema (true by default). `$schema` property in the schema can be http://json-schema.org/draft-07/schema or absent (draft-07 meta-schema will be used) or can be a reference to the schema previously added with `addMetaSchema` method. Option values: - - `true` (default) - if the validation fails, throw the exception. - - `"log"` - if the validation fails, log error. - - `false` - skip schema validation. -- _addUsedSchema_: by default methods `compile` and `validate` add schemas to the instance if they have `$id` (or `id`) property that doesn't start with "#". If `$id` is present and it is not unique the exception will be thrown. Set this option to `false` to skip adding schemas to the instance and the `$id` uniqueness check when these methods are used. This option does not affect `addSchema` method. -- _inlineRefs_: Affects compilation of referenced schemas. Option values: - - `true` (default) - the referenced schemas that don't have refs in them are inlined, regardless of their size - that substantially improves performance at the cost of the bigger size of compiled schema functions. - - `false` - to not inline referenced schemas (they will be compiled as separate functions). - - integer number - to limit the maximum number of keywords of the schema that will be inlined. -- _passContext_: pass validation context to custom keyword functions. If this option is `true` and you pass some context to the compiled validation function with `validate.call(context, data)`, the `context` will be available as `this` in your custom keywords. By default `this` is Ajv instance. -- _loopRequired_: by default `required` keyword is compiled into a single expression (or a sequence of statements in `allErrors` mode). In case of a very large number of properties in this keyword it may result in a very big validation function. Pass integer to set the number of properties above which `required` keyword will be validated in a loop - smaller validation function size but also worse performance. -- _ownProperties_: by default Ajv iterates over all enumerable object properties; when this option is `true` only own enumerable object properties (i.e. found directly on the object rather than on its prototype) are iterated. Contributed by @mbroadst. -- _multipleOfPrecision_: by default `multipleOf` keyword is validated by comparing the result of division with parseInt() of that result. It works for dividers that are bigger than 1. For small dividers such as 0.01 the result of the division is usually not integer (even when it should be integer, see issue [#84](https://github.com/ajv-validator/ajv/issues/84)). If you need to use fractional dividers set this option to some positive integer N to have `multipleOf` validated using this formula: `Math.abs(Math.round(division) - division) < 1e-N` (it is slower but allows for float arithmetics deviations). -- _errorDataPath_ (deprecated): set `dataPath` to point to 'object' (default) or to 'property' when validating keywords `required`, `additionalProperties` and `dependencies`. -- _messages_: Include human-readable messages in errors. `true` by default. `false` can be passed when custom messages are used (e.g. with [ajv-i18n](https://github.com/ajv-validator/ajv-i18n)). -- _sourceCode_: add `sourceCode` property to validating function (for debugging; this code can be different from the result of toString call). -- _processCode_: an optional function to process generated code before it is passed to Function constructor. It can be used to either beautify (the validating function is generated without line-breaks) or to transpile code. Starting from version 5.0.0 this option replaced options: - - `beautify` that formatted the generated function using [js-beautify](https://github.com/beautify-web/js-beautify). If you want to beautify the generated code pass a function calling `require('js-beautify').js_beautify` as `processCode: code => js_beautify(code)`. - - `transpile` that transpiled asynchronous validation function. You can still use `transpile` option with [ajv-async](https://github.com/ajv-validator/ajv-async) package. See [Asynchronous validation](#asynchronous-validation) for more information. -- _cache_: an optional instance of cache to store compiled schemas using stable-stringified schema as a key. For example, set-associative cache [sacjs](https://github.com/epoberezkin/sacjs) can be used. If not passed then a simple hash is used which is good enough for the common use case (a limited number of statically defined schemas). Cache should have methods `put(key, value)`, `get(key)`, `del(key)` and `clear()`. -- _serialize_: an optional function to serialize schema to cache key. Pass `false` to use schema itself as a key (e.g., if WeakMap used as a cache). By default [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used. - - -## Validation errors - -In case of validation failure, Ajv assigns the array of errors to `errors` property of validation function (or to `errors` property of Ajv instance when `validate` or `validateSchema` methods were called). In case of [asynchronous validation](#asynchronous-validation), the returned promise is rejected with exception `Ajv.ValidationError` that has `errors` property. - - -### Error objects - -Each error is an object with the following properties: - -- _keyword_: validation keyword. -- _dataPath_: the path to the part of the data that was validated. By default `dataPath` uses JavaScript property access notation (e.g., `".prop[1].subProp"`). When the option `jsonPointers` is true (see [Options](#options)) `dataPath` will be set using JSON pointer standard (e.g., `"/prop/1/subProp"`). -- _schemaPath_: the path (JSON-pointer as a URI fragment) to the schema of the keyword that failed validation. -- _params_: the object with the additional information about error that can be used to create custom error messages (e.g., using [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) package). See below for parameters set by all keywords. -- _message_: the standard error message (can be excluded with option `messages` set to false). -- _schema_: the schema of the keyword (added with `verbose` option). -- _parentSchema_: the schema containing the keyword (added with `verbose` option) -- _data_: the data validated by the keyword (added with `verbose` option). - -__Please note__: `propertyNames` keyword schema validation errors have an additional property `propertyName`, `dataPath` points to the object. After schema validation for each property name, if it is invalid an additional error is added with the property `keyword` equal to `"propertyNames"`. - - -### Error parameters - -Properties of `params` object in errors depend on the keyword that failed validation. - -- `maxItems`, `minItems`, `maxLength`, `minLength`, `maxProperties`, `minProperties` - property `limit` (number, the schema of the keyword). -- `additionalItems` - property `limit` (the maximum number of allowed items in case when `items` keyword is an array of schemas and `additionalItems` is false). -- `additionalProperties` - property `additionalProperty` (the property not used in `properties` and `patternProperties` keywords). -- `dependencies` - properties: - - `property` (dependent property), - - `missingProperty` (required missing dependency - only the first one is reported currently) - - `deps` (required dependencies, comma separated list as a string), - - `depsCount` (the number of required dependencies). -- `format` - property `format` (the schema of the keyword). -- `maximum`, `minimum` - properties: - - `limit` (number, the schema of the keyword), - - `exclusive` (boolean, the schema of `exclusiveMaximum` or `exclusiveMinimum`), - - `comparison` (string, comparison operation to compare the data to the limit, with the data on the left and the limit on the right; can be "<", "<=", ">", ">=") -- `multipleOf` - property `multipleOf` (the schema of the keyword) -- `pattern` - property `pattern` (the schema of the keyword) -- `required` - property `missingProperty` (required property that is missing). -- `propertyNames` - property `propertyName` (an invalid property name). -- `patternRequired` (in ajv-keywords) - property `missingPattern` (required pattern that did not match any property). -- `type` - property `type` (required type(s), a string, can be a comma-separated list) -- `uniqueItems` - properties `i` and `j` (indices of duplicate items). -- `const` - property `allowedValue` pointing to the value (the schema of the keyword). -- `enum` - property `allowedValues` pointing to the array of values (the schema of the keyword). -- `$ref` - property `ref` with the referenced schema URI. -- `oneOf` - property `passingSchemas` (array of indices of passing schemas, null if no schema passes). -- custom keywords (in case keyword definition doesn't create errors) - property `keyword` (the keyword name). - - -### Error logging - -Using the `logger` option when initiallizing Ajv will allow you to define custom logging. Here you can build upon the exisiting logging. The use of other logging packages is supported as long as the package or its associated wrapper exposes the required methods. If any of the required methods are missing an exception will be thrown. -- **Required Methods**: `log`, `warn`, `error` - -```javascript -var otherLogger = new OtherLogger(); -var ajv = new Ajv({ - logger: { - log: console.log.bind(console), - warn: function warn() { - otherLogger.logWarn.apply(otherLogger, arguments); - }, - error: function error() { - otherLogger.logError.apply(otherLogger, arguments); - console.error.apply(console, arguments); - } - } -}); -``` - - -## Plugins - -Ajv can be extended with plugins that add custom keywords, formats or functions to process generated code. When such plugin is published as npm package it is recommended that it follows these conventions: - -- it exports a function -- this function accepts ajv instance as the first parameter and returns the same instance to allow chaining -- this function can accept an optional configuration as the second parameter - -If you have published a useful plugin please submit a PR to add it to the next section. - - -## Related packages - -- [ajv-async](https://github.com/ajv-validator/ajv-async) - plugin to configure async validation mode -- [ajv-bsontype](https://github.com/BoLaMN/ajv-bsontype) - plugin to validate mongodb's bsonType formats -- [ajv-cli](https://github.com/jessedc/ajv-cli) - command line interface -- [ajv-errors](https://github.com/ajv-validator/ajv-errors) - plugin for custom error messages -- [ajv-i18n](https://github.com/ajv-validator/ajv-i18n) - internationalised error messages -- [ajv-istanbul](https://github.com/ajv-validator/ajv-istanbul) - plugin to instrument generated validation code to measure test coverage of your schemas -- [ajv-keywords](https://github.com/ajv-validator/ajv-keywords) - plugin with custom validation keywords (select, typeof, etc.) -- [ajv-merge-patch](https://github.com/ajv-validator/ajv-merge-patch) - plugin with keywords $merge and $patch -- [ajv-pack](https://github.com/ajv-validator/ajv-pack) - produces a compact module exporting validation functions -- [ajv-formats-draft2019](https://github.com/luzlab/ajv-formats-draft2019) - format validators for draft2019 that aren't already included in ajv (ie. `idn-hostname`, `idn-email`, `iri`, `iri-reference` and `duration`). - -## Some packages using Ajv - -- [webpack](https://github.com/webpack/webpack) - a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser -- [jsonscript-js](https://github.com/JSONScript/jsonscript-js) - the interpreter for [JSONScript](http://www.jsonscript.org) - scripted processing of existing endpoints and services -- [osprey-method-handler](https://github.com/mulesoft-labs/osprey-method-handler) - Express middleware for validating requests and responses based on a RAML method object, used in [osprey](https://github.com/mulesoft/osprey) - validating API proxy generated from a RAML definition -- [har-validator](https://github.com/ahmadnassri/har-validator) - HTTP Archive (HAR) validator -- [jsoneditor](https://github.com/josdejong/jsoneditor) - a web-based tool to view, edit, format, and validate JSON http://jsoneditoronline.org -- [JSON Schema Lint](https://github.com/nickcmaynard/jsonschemalint) - a web tool to validate JSON/YAML document against a single JSON Schema http://jsonschemalint.com -- [objection](https://github.com/vincit/objection.js) - SQL-friendly ORM for Node.js -- [table](https://github.com/gajus/table) - formats data into a string table -- [ripple-lib](https://github.com/ripple/ripple-lib) - a JavaScript API for interacting with [Ripple](https://ripple.com) in Node.js and the browser -- [restbase](https://github.com/wikimedia/restbase) - distributed storage with REST API & dispatcher for backend services built to provide a low-latency & high-throughput API for Wikipedia / Wikimedia content -- [hippie-swagger](https://github.com/CacheControl/hippie-swagger) - [Hippie](https://github.com/vesln/hippie) wrapper that provides end to end API testing with swagger validation -- [react-form-controlled](https://github.com/seeden/react-form-controlled) - React controlled form components with validation -- [rabbitmq-schema](https://github.com/tjmehta/rabbitmq-schema) - a schema definition module for RabbitMQ graphs and messages -- [@query/schema](https://www.npmjs.com/package/@query/schema) - stream filtering with a URI-safe query syntax parsing to JSON Schema -- [chai-ajv-json-schema](https://github.com/peon374/chai-ajv-json-schema) - chai plugin to us JSON Schema with expect in mocha tests -- [grunt-jsonschema-ajv](https://github.com/SignpostMarv/grunt-jsonschema-ajv) - Grunt plugin for validating files against JSON Schema -- [extract-text-webpack-plugin](https://github.com/webpack-contrib/extract-text-webpack-plugin) - extract text from bundle into a file -- [electron-builder](https://github.com/electron-userland/electron-builder) - a solution to package and build a ready for distribution Electron app -- [addons-linter](https://github.com/mozilla/addons-linter) - Mozilla Add-ons Linter -- [gh-pages-generator](https://github.com/epoberezkin/gh-pages-generator) - multi-page site generator converting markdown files to GitHub pages -- [ESLint](https://github.com/eslint/eslint) - the pluggable linting utility for JavaScript and JSX - - -## Tests - -``` -npm install -git submodule update --init -npm test -``` - -## Contributing - -All validation functions are generated using doT templates in [dot](https://github.com/ajv-validator/ajv/tree/master/lib/dot) folder. Templates are precompiled so doT is not a run-time dependency. - -`npm run build` - compiles templates to [dotjs](https://github.com/ajv-validator/ajv/tree/master/lib/dotjs) folder. - -`npm run watch` - automatically compiles templates when files in dot folder change - -Please see [Contributing guidelines](https://github.com/ajv-validator/ajv/blob/master/CONTRIBUTING.md) - - -## Changes history - -See https://github.com/ajv-validator/ajv/releases - -__Please note__: [Changes in version 7.0.0-beta](https://github.com/ajv-validator/ajv/releases/tag/v7.0.0-beta.0) - -[Version 6.0.0](https://github.com/ajv-validator/ajv/releases/tag/v6.0.0). - -## Code of conduct - -Please review and follow the [Code of conduct](https://github.com/ajv-validator/ajv/blob/master/CODE_OF_CONDUCT.md). - -Please report any unacceptable behaviour to ajv.validator@gmail.com - it will be reviewed by the project team. - - -## Open-source software support - -Ajv is a part of [Tidelift subscription](https://tidelift.com/subscription/pkg/npm-ajv?utm_source=npm-ajv&utm_medium=referral&utm_campaign=readme) - it provides a centralised support to open-source software users, in addition to the support provided by software maintainers. - - -## License - -[MIT](https://github.com/ajv-validator/ajv/blob/master/LICENSE) diff --git a/node_modules/ajv/dist/ajv.bundle.js b/node_modules/ajv/dist/ajv.bundle.js deleted file mode 100644 index e4d9d15..0000000 --- a/node_modules/ajv/dist/ajv.bundle.js +++ /dev/null @@ -1,7189 +0,0 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Ajv = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i; -// For the source: https://gist.github.com/dperini/729294 -// For test cases: https://mathiasbynens.be/demo/url-regex -// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983. -// var URL = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu; -var URL = /^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i; -var UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; -var JSON_POINTER = /^(?:\/(?:[^~/]|~0|~1)*)*$/; -var JSON_POINTER_URI_FRAGMENT = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i; -var RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/; - - -module.exports = formats; - -function formats(mode) { - mode = mode == 'full' ? 'full' : 'fast'; - return util.copy(formats[mode]); -} - - -formats.fast = { - // date: http://tools.ietf.org/html/rfc3339#section-5.6 - date: /^\d\d\d\d-[0-1]\d-[0-3]\d$/, - // date-time: http://tools.ietf.org/html/rfc3339#section-5.6 - time: /^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, - 'date-time': /^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, - // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js - uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i, - 'uri-reference': /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i, - 'uri-template': URITEMPLATE, - url: URL, - // email (sources from jsen validator): - // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363 - // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation') - email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i, - hostname: HOSTNAME, - // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html - ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, - // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, - regex: regex, - // uuid: http://tools.ietf.org/html/rfc4122 - uuid: UUID, - // JSON-pointer: https://tools.ietf.org/html/rfc6901 - // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A - 'json-pointer': JSON_POINTER, - 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, - // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00 - 'relative-json-pointer': RELATIVE_JSON_POINTER -}; - - -formats.full = { - date: date, - time: time, - 'date-time': date_time, - uri: uri, - 'uri-reference': URIREF, - 'uri-template': URITEMPLATE, - url: URL, - email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, - hostname: HOSTNAME, - ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, - ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, - regex: regex, - uuid: UUID, - 'json-pointer': JSON_POINTER, - 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, - 'relative-json-pointer': RELATIVE_JSON_POINTER -}; - - -function isLeapYear(year) { - // https://tools.ietf.org/html/rfc3339#appendix-C - return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); -} - - -function date(str) { - // full-date from http://tools.ietf.org/html/rfc3339#section-5.6 - var matches = str.match(DATE); - if (!matches) return false; - - var year = +matches[1]; - var month = +matches[2]; - var day = +matches[3]; - - return month >= 1 && month <= 12 && day >= 1 && - day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]); -} - - -function time(str, full) { - var matches = str.match(TIME); - if (!matches) return false; - - var hour = matches[1]; - var minute = matches[2]; - var second = matches[3]; - var timeZone = matches[5]; - return ((hour <= 23 && minute <= 59 && second <= 59) || - (hour == 23 && minute == 59 && second == 60)) && - (!full || timeZone); -} - - -var DATE_TIME_SEPARATOR = /t|\s/i; -function date_time(str) { - // http://tools.ietf.org/html/rfc3339#section-5.6 - var dateTime = str.split(DATE_TIME_SEPARATOR); - return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true); -} - - -var NOT_URI_FRAGMENT = /\/|:/; -function uri(str) { - // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required "." - return NOT_URI_FRAGMENT.test(str) && URI.test(str); -} - - -var Z_ANCHOR = /[^\\]\\Z/; -function regex(str) { - if (Z_ANCHOR.test(str)) return false; - try { - new RegExp(str); - return true; - } catch(e) { - return false; - } -} - -},{"./util":10}],5:[function(require,module,exports){ -'use strict'; - -var resolve = require('./resolve') - , util = require('./util') - , errorClasses = require('./error_classes') - , stableStringify = require('fast-json-stable-stringify'); - -var validateGenerator = require('../dotjs/validate'); - -/** - * Functions below are used inside compiled validations function - */ - -var ucs2length = util.ucs2length; -var equal = require('fast-deep-equal'); - -// this error is thrown by async schemas to return validation errors via exception -var ValidationError = errorClasses.Validation; - -module.exports = compile; - - -/** - * Compiles schema to validation function - * @this Ajv - * @param {Object} schema schema object - * @param {Object} root object with information about the root schema for this schema - * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution - * @param {String} baseId base ID for IDs in the schema - * @return {Function} validation function - */ -function compile(schema, root, localRefs, baseId) { - /* jshint validthis: true, evil: true */ - /* eslint no-shadow: 0 */ - var self = this - , opts = this._opts - , refVal = [ undefined ] - , refs = {} - , patterns = [] - , patternsHash = {} - , defaults = [] - , defaultsHash = {} - , customRules = []; - - root = root || { schema: schema, refVal: refVal, refs: refs }; - - var c = checkCompiling.call(this, schema, root, baseId); - var compilation = this._compilations[c.index]; - if (c.compiling) return (compilation.callValidate = callValidate); - - var formats = this._formats; - var RULES = this.RULES; - - try { - var v = localCompile(schema, root, localRefs, baseId); - compilation.validate = v; - var cv = compilation.callValidate; - if (cv) { - cv.schema = v.schema; - cv.errors = null; - cv.refs = v.refs; - cv.refVal = v.refVal; - cv.root = v.root; - cv.$async = v.$async; - if (opts.sourceCode) cv.source = v.source; - } - return v; - } finally { - endCompiling.call(this, schema, root, baseId); - } - - /* @this {*} - custom context, see passContext option */ - function callValidate() { - /* jshint validthis: true */ - var validate = compilation.validate; - var result = validate.apply(this, arguments); - callValidate.errors = validate.errors; - return result; - } - - function localCompile(_schema, _root, localRefs, baseId) { - var isRoot = !_root || (_root && _root.schema == _schema); - if (_root.schema != root.schema) - return compile.call(self, _schema, _root, localRefs, baseId); - - var $async = _schema.$async === true; - - var sourceCode = validateGenerator({ - isTop: true, - schema: _schema, - isRoot: isRoot, - baseId: baseId, - root: _root, - schemaPath: '', - errSchemaPath: '#', - errorPath: '""', - MissingRefError: errorClasses.MissingRef, - RULES: RULES, - validate: validateGenerator, - util: util, - resolve: resolve, - resolveRef: resolveRef, - usePattern: usePattern, - useDefault: useDefault, - useCustomRule: useCustomRule, - opts: opts, - formats: formats, - logger: self.logger, - self: self - }); - - sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode) - + vars(defaults, defaultCode) + vars(customRules, customRuleCode) - + sourceCode; - - if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema); - // console.log('\n\n\n *** \n', JSON.stringify(sourceCode)); - var validate; - try { - var makeValidate = new Function( - 'self', - 'RULES', - 'formats', - 'root', - 'refVal', - 'defaults', - 'customRules', - 'equal', - 'ucs2length', - 'ValidationError', - sourceCode - ); - - validate = makeValidate( - self, - RULES, - formats, - root, - refVal, - defaults, - customRules, - equal, - ucs2length, - ValidationError - ); - - refVal[0] = validate; - } catch(e) { - self.logger.error('Error compiling schema, function code:', sourceCode); - throw e; - } - - validate.schema = _schema; - validate.errors = null; - validate.refs = refs; - validate.refVal = refVal; - validate.root = isRoot ? validate : _root; - if ($async) validate.$async = true; - if (opts.sourceCode === true) { - validate.source = { - code: sourceCode, - patterns: patterns, - defaults: defaults - }; - } - - return validate; - } - - function resolveRef(baseId, ref, isRoot) { - ref = resolve.url(baseId, ref); - var refIndex = refs[ref]; - var _refVal, refCode; - if (refIndex !== undefined) { - _refVal = refVal[refIndex]; - refCode = 'refVal[' + refIndex + ']'; - return resolvedRef(_refVal, refCode); - } - if (!isRoot && root.refs) { - var rootRefId = root.refs[ref]; - if (rootRefId !== undefined) { - _refVal = root.refVal[rootRefId]; - refCode = addLocalRef(ref, _refVal); - return resolvedRef(_refVal, refCode); - } - } - - refCode = addLocalRef(ref); - var v = resolve.call(self, localCompile, root, ref); - if (v === undefined) { - var localSchema = localRefs && localRefs[ref]; - if (localSchema) { - v = resolve.inlineRef(localSchema, opts.inlineRefs) - ? localSchema - : compile.call(self, localSchema, root, localRefs, baseId); - } - } - - if (v === undefined) { - removeLocalRef(ref); - } else { - replaceLocalRef(ref, v); - return resolvedRef(v, refCode); - } - } - - function addLocalRef(ref, v) { - var refId = refVal.length; - refVal[refId] = v; - refs[ref] = refId; - return 'refVal' + refId; - } - - function removeLocalRef(ref) { - delete refs[ref]; - } - - function replaceLocalRef(ref, v) { - var refId = refs[ref]; - refVal[refId] = v; - } - - function resolvedRef(refVal, code) { - return typeof refVal == 'object' || typeof refVal == 'boolean' - ? { code: code, schema: refVal, inline: true } - : { code: code, $async: refVal && !!refVal.$async }; - } - - function usePattern(regexStr) { - var index = patternsHash[regexStr]; - if (index === undefined) { - index = patternsHash[regexStr] = patterns.length; - patterns[index] = regexStr; - } - return 'pattern' + index; - } - - function useDefault(value) { - switch (typeof value) { - case 'boolean': - case 'number': - return '' + value; - case 'string': - return util.toQuotedString(value); - case 'object': - if (value === null) return 'null'; - var valueStr = stableStringify(value); - var index = defaultsHash[valueStr]; - if (index === undefined) { - index = defaultsHash[valueStr] = defaults.length; - defaults[index] = value; - } - return 'default' + index; - } - } - - function useCustomRule(rule, schema, parentSchema, it) { - if (self._opts.validateSchema !== false) { - var deps = rule.definition.dependencies; - if (deps && !deps.every(function(keyword) { - return Object.prototype.hasOwnProperty.call(parentSchema, keyword); - })) - throw new Error('parent schema must have all required keywords: ' + deps.join(',')); - - var validateSchema = rule.definition.validateSchema; - if (validateSchema) { - var valid = validateSchema(schema); - if (!valid) { - var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors); - if (self._opts.validateSchema == 'log') self.logger.error(message); - else throw new Error(message); - } - } - } - - var compile = rule.definition.compile - , inline = rule.definition.inline - , macro = rule.definition.macro; - - var validate; - if (compile) { - validate = compile.call(self, schema, parentSchema, it); - } else if (macro) { - validate = macro.call(self, schema, parentSchema, it); - if (opts.validateSchema !== false) self.validateSchema(validate, true); - } else if (inline) { - validate = inline.call(self, it, rule.keyword, schema, parentSchema); - } else { - validate = rule.definition.validate; - if (!validate) return; - } - - if (validate === undefined) - throw new Error('custom keyword "' + rule.keyword + '"failed to compile'); - - var index = customRules.length; - customRules[index] = validate; - - return { - code: 'customRule' + index, - validate: validate - }; - } -} - - -/** - * Checks if the schema is currently compiled - * @this Ajv - * @param {Object} schema schema to compile - * @param {Object} root root object - * @param {String} baseId base schema ID - * @return {Object} object with properties "index" (compilation index) and "compiling" (boolean) - */ -function checkCompiling(schema, root, baseId) { - /* jshint validthis: true */ - var index = compIndex.call(this, schema, root, baseId); - if (index >= 0) return { index: index, compiling: true }; - index = this._compilations.length; - this._compilations[index] = { - schema: schema, - root: root, - baseId: baseId - }; - return { index: index, compiling: false }; -} - - -/** - * Removes the schema from the currently compiled list - * @this Ajv - * @param {Object} schema schema to compile - * @param {Object} root root object - * @param {String} baseId base schema ID - */ -function endCompiling(schema, root, baseId) { - /* jshint validthis: true */ - var i = compIndex.call(this, schema, root, baseId); - if (i >= 0) this._compilations.splice(i, 1); -} - - -/** - * Index of schema compilation in the currently compiled list - * @this Ajv - * @param {Object} schema schema to compile - * @param {Object} root root object - * @param {String} baseId base schema ID - * @return {Integer} compilation index - */ -function compIndex(schema, root, baseId) { - /* jshint validthis: true */ - for (var i=0; i= 0xD800 && value <= 0xDBFF && pos < len) { - // high surrogate, and there is a next character - value = str.charCodeAt(pos); - if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate - } - } - return length; -}; - -},{}],10:[function(require,module,exports){ -'use strict'; - - -module.exports = { - copy: copy, - checkDataType: checkDataType, - checkDataTypes: checkDataTypes, - coerceToTypes: coerceToTypes, - toHash: toHash, - getProperty: getProperty, - escapeQuotes: escapeQuotes, - equal: require('fast-deep-equal'), - ucs2length: require('./ucs2length'), - varOccurences: varOccurences, - varReplace: varReplace, - schemaHasRules: schemaHasRules, - schemaHasRulesExcept: schemaHasRulesExcept, - schemaUnknownRules: schemaUnknownRules, - toQuotedString: toQuotedString, - getPathExpr: getPathExpr, - getPath: getPath, - getData: getData, - unescapeFragment: unescapeFragment, - unescapeJsonPointer: unescapeJsonPointer, - escapeFragment: escapeFragment, - escapeJsonPointer: escapeJsonPointer -}; - - -function copy(o, to) { - to = to || {}; - for (var key in o) to[key] = o[key]; - return to; -} - - -function checkDataType(dataType, data, strictNumbers, negate) { - var EQUAL = negate ? ' !== ' : ' === ' - , AND = negate ? ' || ' : ' && ' - , OK = negate ? '!' : '' - , NOT = negate ? '' : '!'; - switch (dataType) { - case 'null': return data + EQUAL + 'null'; - case 'array': return OK + 'Array.isArray(' + data + ')'; - case 'object': return '(' + OK + data + AND + - 'typeof ' + data + EQUAL + '"object"' + AND + - NOT + 'Array.isArray(' + data + '))'; - case 'integer': return '(typeof ' + data + EQUAL + '"number"' + AND + - NOT + '(' + data + ' % 1)' + - AND + data + EQUAL + data + - (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; - case 'number': return '(typeof ' + data + EQUAL + '"' + dataType + '"' + - (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; - default: return 'typeof ' + data + EQUAL + '"' + dataType + '"'; - } -} - - -function checkDataTypes(dataTypes, data, strictNumbers) { - switch (dataTypes.length) { - case 1: return checkDataType(dataTypes[0], data, strictNumbers, true); - default: - var code = ''; - var types = toHash(dataTypes); - if (types.array && types.object) { - code = types.null ? '(': '(!' + data + ' || '; - code += 'typeof ' + data + ' !== "object")'; - delete types.null; - delete types.array; - delete types.object; - } - if (types.number) delete types.integer; - for (var t in types) - code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true); - - return code; - } -} - - -var COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]); -function coerceToTypes(optionCoerceTypes, dataTypes) { - if (Array.isArray(dataTypes)) { - var types = []; - for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl); - return paths[lvl - up]; - } - - if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl); - data = 'data' + ((lvl - up) || ''); - if (!jsonPointer) return data; - } - - var expr = data; - var segments = jsonPointer.split('/'); - for (var i=0; i', - $notOp = $isMax ? '>' : '<', - $errorKeyword = undefined; - if (!($isData || typeof $schema == 'number' || $schema === undefined)) { - throw new Error($keyword + ' must be number'); - } - if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) { - throw new Error($exclusiveKeyword + ' must be number or boolean'); - } - if ($isDataExcl) { - var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr), - $exclusive = 'exclusive' + $lvl, - $exclType = 'exclType' + $lvl, - $exclIsNumber = 'exclIsNumber' + $lvl, - $opExpr = 'op' + $lvl, - $opStr = '\' + ' + $opExpr + ' + \''; - out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; '; - $schemaValueExcl = 'schemaExcl' + $lvl; - out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \'boolean\' && ' + ($exclType) + ' != \'undefined\' && ' + ($exclType) + ' != \'number\') { '; - var $errorKeyword = $exclusiveKeyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_exclusiveLimit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'' + ($exclusiveKeyword) + ' should be boolean\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' ' + ($exclType) + ' == \'number\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \'' + ($op) + '\' : \'' + ($op) + '=\'; '; - if ($schema === undefined) { - $errorKeyword = $exclusiveKeyword; - $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; - $schemaValue = $schemaValueExcl; - $isData = $isDataExcl; - } - } else { - var $exclIsNumber = typeof $schemaExcl == 'number', - $opStr = $op; - if ($exclIsNumber && $isData) { - var $opExpr = '\'' + $opStr + '\''; - out += ' if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { '; - } else { - if ($exclIsNumber && $schema === undefined) { - $exclusive = true; - $errorKeyword = $exclusiveKeyword; - $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; - $schemaValue = $schemaExcl; - $notOp += '='; - } else { - if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); - if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { - $exclusive = true; - $errorKeyword = $exclusiveKeyword; - $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; - $notOp += '='; - } else { - $exclusive = false; - $opStr += '='; - } - } - var $opExpr = '\'' + $opStr + '\''; - out += ' if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { '; - } - } - $errorKeyword = $errorKeyword || $keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_limit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be ' + ($opStr) + ' '; - if ($isData) { - out += '\' + ' + ($schemaValue); - } else { - out += '' + ($schemaValue) + '\''; - } - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} - -},{}],14:[function(require,module,exports){ -'use strict'; -module.exports = function generate__limitItems(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!($isData || typeof $schema == 'number')) { - throw new Error($keyword + ' must be number'); - } - var $op = $keyword == 'maxItems' ? '>' : '<'; - out += 'if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { '; - var $errorKeyword = $keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_limitItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT have '; - if ($keyword == 'maxItems') { - out += 'more'; - } else { - out += 'fewer'; - } - out += ' than '; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + ($schema); - } - out += ' items\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} - -},{}],15:[function(require,module,exports){ -'use strict'; -module.exports = function generate__limitLength(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!($isData || typeof $schema == 'number')) { - throw new Error($keyword + ' must be number'); - } - var $op = $keyword == 'maxLength' ? '>' : '<'; - out += 'if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - if (it.opts.unicode === false) { - out += ' ' + ($data) + '.length '; - } else { - out += ' ucs2length(' + ($data) + ') '; - } - out += ' ' + ($op) + ' ' + ($schemaValue) + ') { '; - var $errorKeyword = $keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_limitLength') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT be '; - if ($keyword == 'maxLength') { - out += 'longer'; - } else { - out += 'shorter'; - } - out += ' than '; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + ($schema); - } - out += ' characters\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} - -},{}],16:[function(require,module,exports){ -'use strict'; -module.exports = function generate__limitProperties(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!($isData || typeof $schema == 'number')) { - throw new Error($keyword + ' must be number'); - } - var $op = $keyword == 'maxProperties' ? '>' : '<'; - out += 'if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { '; - var $errorKeyword = $keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_limitProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT have '; - if ($keyword == 'maxProperties') { - out += 'more'; - } else { - out += 'fewer'; - } - out += ' than '; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + ($schema); - } - out += ' properties\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} - -},{}],17:[function(require,module,exports){ -'use strict'; -module.exports = function generate_allOf(it, $keyword, $ruleType) { - var out = ' '; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $currentBaseId = $it.baseId, - $allSchemasEmpty = true; - var arr1 = $schema; - if (arr1) { - var $sch, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $sch = arr1[$i += 1]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - $allSchemasEmpty = false; - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - } - if ($breakOnError) { - if ($allSchemasEmpty) { - out += ' if (true) { '; - } else { - out += ' ' + ($closingBraces.slice(0, -1)) + ' '; - } - } - return out; -} - -},{}],18:[function(require,module,exports){ -'use strict'; -module.exports = function generate_anyOf(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $noEmptySchema = $schema.every(function($sch) { - return (it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)); - }); - if ($noEmptySchema) { - var $currentBaseId = $it.baseId; - out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - var arr1 = $schema; - if (arr1) { - var $sch, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $sch = arr1[$i += 1]; - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { '; - $closingBraces += '}'; - } - } - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('anyOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'should match some schema in anyOf\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError(vErrors); '; - } else { - out += ' validate.errors = vErrors; return false; '; - } - } - out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; - if (it.opts.allErrors) { - out += ' } '; - } - } else { - if ($breakOnError) { - out += ' if (true) { '; - } - } - return out; -} - -},{}],19:[function(require,module,exports){ -'use strict'; -module.exports = function generate_comment(it, $keyword, $ruleType) { - var out = ' '; - var $schema = it.schema[$keyword]; - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $comment = it.util.toQuotedString($schema); - if (it.opts.$comment === true) { - out += ' console.log(' + ($comment) + ');'; - } else if (typeof it.opts.$comment == 'function') { - out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);'; - } - return out; -} - -},{}],20:[function(require,module,exports){ -'use strict'; -module.exports = function generate_const(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!$isData) { - out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';'; - } - out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('const') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be equal to constant\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' }'; - if ($breakOnError) { - out += ' else { '; - } - return out; -} - -},{}],21:[function(require,module,exports){ -'use strict'; -module.exports = function generate_contains(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $idx = 'i' + $lvl, - $dataNxt = $it.dataLevel = it.dataLevel + 1, - $nextData = 'data' + $dataNxt, - $currentBaseId = it.baseId, - $nonEmptySchema = (it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)); - out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; - if ($nonEmptySchema) { - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; - $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); - var $passData = $data + '[' + $idx + ']'; - $it.dataPathArr[$dataNxt] = $idx; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - out += ' if (' + ($nextValid) + ') break; } '; - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {'; - } else { - out += ' if (' + ($data) + '.length == 0) {'; - } - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('contains') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'should contain a valid item\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else { '; - if ($nonEmptySchema) { - out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; - } - if (it.opts.allErrors) { - out += ' } '; - } - return out; -} - -},{}],22:[function(require,module,exports){ -'use strict'; -module.exports = function generate_custom(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - var $rule = this, - $definition = 'definition' + $lvl, - $rDef = $rule.definition, - $closingBraces = ''; - var $compile, $inline, $macro, $ruleValidate, $validateCode; - if ($isData && $rDef.$data) { - $validateCode = 'keywordValidate' + $lvl; - var $validateSchema = $rDef.validateSchema; - out += ' var ' + ($definition) + ' = RULES.custom[\'' + ($keyword) + '\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;'; - } else { - $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); - if (!$ruleValidate) return; - $schemaValue = 'validate.schema' + $schemaPath; - $validateCode = $ruleValidate.code; - $compile = $rDef.compile; - $inline = $rDef.inline; - $macro = $rDef.macro; - } - var $ruleErrs = $validateCode + '.errors', - $i = 'i' + $lvl, - $ruleErr = 'ruleErr' + $lvl, - $asyncKeyword = $rDef.async; - if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema'); - if (!($inline || $macro)) { - out += '' + ($ruleErrs) + ' = null;'; - } - out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; - if ($isData && $rDef.$data) { - $closingBraces += '}'; - out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { '; - if ($validateSchema) { - $closingBraces += '}'; - out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { '; - } - } - if ($inline) { - if ($rDef.statements) { - out += ' ' + ($ruleValidate.validate) + ' '; - } else { - out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; '; - } - } else if ($macro) { - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - $it.schema = $ruleValidate.validate; - $it.schemaPath = ''; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - var $code = it.validate($it).replace(/validate\.schema/g, $validateCode); - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' ' + ($code); - } else { - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; - out += ' ' + ($validateCode) + '.call( '; - if (it.opts.passContext) { - out += 'this'; - } else { - out += 'self'; - } - if ($compile || $rDef.schema === false) { - out += ' , ' + ($data) + ' '; - } else { - out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' '; - } - out += ' , (dataPath || \'\')'; - if (it.errorPath != '""') { - out += ' + ' + (it.errorPath); - } - var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', - $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; - out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData ) '; - var def_callRuleValidate = out; - out = $$outStack.pop(); - if ($rDef.errors === false) { - out += ' ' + ($valid) + ' = '; - if ($asyncKeyword) { - out += 'await '; - } - out += '' + (def_callRuleValidate) + '; '; - } else { - if ($asyncKeyword) { - $ruleErrs = 'customErrors' + $lvl; - out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } '; - } else { - out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; '; - } - } - } - if ($rDef.modifying) { - out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];'; - } - out += '' + ($closingBraces); - if ($rDef.valid) { - if ($breakOnError) { - out += ' if (true) { '; - } - } else { - out += ' if ( '; - if ($rDef.valid === undefined) { - out += ' !'; - if ($macro) { - out += '' + ($nextValid); - } else { - out += '' + ($valid); - } - } else { - out += ' ' + (!$rDef.valid) + ' '; - } - out += ') { '; - $errorKeyword = $rule.keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'custom') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \'' + ($rule.keyword) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should pass "' + ($rule.keyword) + '" keyword validation\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - var def_customError = out; - out = $$outStack.pop(); - if ($inline) { - if ($rDef.errors) { - if ($rDef.errors != 'full') { - out += ' for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + ' 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined '; - if ($ownProperties) { - out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($property)) + '\') '; - } - out += ') { '; - $it.schema = $sch; - $it.schemaPath = $schemaPath + it.util.getProperty($property); - $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - out += ' } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - if ($breakOnError) { - out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; - } - return out; -} - -},{}],24:[function(require,module,exports){ -'use strict'; -module.exports = function generate_enum(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - var $i = 'i' + $lvl, - $vSchema = 'schema' + $lvl; - if (!$isData) { - out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';'; - } - out += 'var ' + ($valid) + ';'; - if ($isData) { - out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; - } - out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }'; - if ($isData) { - out += ' } '; - } - out += ' if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('enum') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be equal to one of the allowed values\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' }'; - if ($breakOnError) { - out += ' else { '; - } - return out; -} - -},{}],25:[function(require,module,exports){ -'use strict'; -module.exports = function generate_format(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - if (it.opts.format === false) { - if ($breakOnError) { - out += ' if (true) { '; - } - return out; - } - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - var $unknownFormats = it.opts.unknownFormats, - $allowUnknown = Array.isArray($unknownFormats); - if ($isData) { - var $format = 'format' + $lvl, - $isObject = 'isObject' + $lvl, - $formatType = 'formatType' + $lvl; - out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \'object\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \'string\'; if (' + ($isObject) + ') { '; - if (it.async) { - out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; '; - } - out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; - } - out += ' ('; - if ($unknownFormats != 'ignore') { - out += ' (' + ($schemaValue) + ' && !' + ($format) + ' '; - if ($allowUnknown) { - out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 '; - } - out += ') || '; - } - out += ' (' + ($format) + ' && ' + ($formatType) + ' == \'' + ($ruleType) + '\' && !(typeof ' + ($format) + ' == \'function\' ? '; - if (it.async) { - out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) '; - } else { - out += ' ' + ($format) + '(' + ($data) + ') '; - } - out += ' : ' + ($format) + '.test(' + ($data) + '))))) {'; - } else { - var $format = it.formats[$schema]; - if (!$format) { - if ($unknownFormats == 'ignore') { - it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); - if ($breakOnError) { - out += ' if (true) { '; - } - return out; - } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) { - if ($breakOnError) { - out += ' if (true) { '; - } - return out; - } else { - throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); - } - } - var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate; - var $formatType = $isObject && $format.type || 'string'; - if ($isObject) { - var $async = $format.async === true; - $format = $format.validate; - } - if ($formatType != $ruleType) { - if ($breakOnError) { - out += ' if (true) { '; - } - return out; - } - if ($async) { - if (!it.async) throw new Error('async format in sync schema'); - var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; - out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { '; - } else { - out += ' if (! '; - var $formatRef = 'formats' + it.util.getProperty($schema); - if ($isObject) $formatRef += '.validate'; - if (typeof $format == 'function') { - out += ' ' + ($formatRef) + '(' + ($data) + ') '; - } else { - out += ' ' + ($formatRef) + '.test(' + ($data) + ') '; - } - out += ') { '; - } - } - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('format') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format: '; - if ($isData) { - out += '' + ($schemaValue); - } else { - out += '' + (it.util.toQuotedString($schema)); - } - out += ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should match format "'; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + (it.util.escapeQuotes($schema)); - } - out += '"\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + (it.util.toQuotedString($schema)); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} - -},{}],26:[function(require,module,exports){ -'use strict'; -module.exports = function generate_if(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - $it.level++; - var $nextValid = 'valid' + $it.level; - var $thenSch = it.schema['then'], - $elseSch = it.schema['else'], - $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? (typeof $thenSch == 'object' && Object.keys($thenSch).length > 0) || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)), - $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? (typeof $elseSch == 'object' && Object.keys($elseSch).length > 0) || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)), - $currentBaseId = $it.baseId; - if ($thenPresent || $elsePresent) { - var $ifClause; - $it.createErrors = false; - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - $it.createErrors = true; - out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; - it.compositeRule = $it.compositeRule = $wasComposite; - if ($thenPresent) { - out += ' if (' + ($nextValid) + ') { '; - $it.schema = it.schema['then']; - $it.schemaPath = it.schemaPath + '.then'; - $it.errSchemaPath = it.errSchemaPath + '/then'; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; - if ($thenPresent && $elsePresent) { - $ifClause = 'ifClause' + $lvl; - out += ' var ' + ($ifClause) + ' = \'then\'; '; - } else { - $ifClause = '\'then\''; - } - out += ' } '; - if ($elsePresent) { - out += ' else { '; - } - } else { - out += ' if (!' + ($nextValid) + ') { '; - } - if ($elsePresent) { - $it.schema = it.schema['else']; - $it.schemaPath = it.schemaPath + '.else'; - $it.errSchemaPath = it.errSchemaPath + '/else'; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; - if ($thenPresent && $elsePresent) { - $ifClause = 'ifClause' + $lvl; - out += ' var ' + ($ifClause) + ' = \'else\'; '; - } else { - $ifClause = '\'else\''; - } - out += ' } '; - } - out += ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('if') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should match "\' + ' + ($ifClause) + ' + \'" schema\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError(vErrors); '; - } else { - out += ' validate.errors = vErrors; return false; '; - } - } - out += ' } '; - if ($breakOnError) { - out += ' else { '; - } - } else { - if ($breakOnError) { - out += ' if (true) { '; - } - } - return out; -} - -},{}],27:[function(require,module,exports){ -'use strict'; - -//all requires must be explicit because browserify won't work with dynamic requires -module.exports = { - '$ref': require('./ref'), - allOf: require('./allOf'), - anyOf: require('./anyOf'), - '$comment': require('./comment'), - const: require('./const'), - contains: require('./contains'), - dependencies: require('./dependencies'), - 'enum': require('./enum'), - format: require('./format'), - 'if': require('./if'), - items: require('./items'), - maximum: require('./_limit'), - minimum: require('./_limit'), - maxItems: require('./_limitItems'), - minItems: require('./_limitItems'), - maxLength: require('./_limitLength'), - minLength: require('./_limitLength'), - maxProperties: require('./_limitProperties'), - minProperties: require('./_limitProperties'), - multipleOf: require('./multipleOf'), - not: require('./not'), - oneOf: require('./oneOf'), - pattern: require('./pattern'), - properties: require('./properties'), - propertyNames: require('./propertyNames'), - required: require('./required'), - uniqueItems: require('./uniqueItems'), - validate: require('./validate') -}; - -},{"./_limit":13,"./_limitItems":14,"./_limitLength":15,"./_limitProperties":16,"./allOf":17,"./anyOf":18,"./comment":19,"./const":20,"./contains":21,"./dependencies":23,"./enum":24,"./format":25,"./if":26,"./items":28,"./multipleOf":29,"./not":30,"./oneOf":31,"./pattern":32,"./properties":33,"./propertyNames":34,"./ref":35,"./required":36,"./uniqueItems":37,"./validate":38}],28:[function(require,module,exports){ -'use strict'; -module.exports = function generate_items(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $idx = 'i' + $lvl, - $dataNxt = $it.dataLevel = it.dataLevel + 1, - $nextData = 'data' + $dataNxt, - $currentBaseId = it.baseId; - out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; - if (Array.isArray($schema)) { - var $additionalItems = it.schema.additionalItems; - if ($additionalItems === false) { - out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; '; - var $currErrSchemaPath = $errSchemaPath; - $errSchemaPath = it.errSchemaPath + '/additionalItems'; - out += ' if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('additionalItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT have more than ' + ($schema.length) + ' items\' '; - } - if (it.opts.verbose) { - out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - $errSchemaPath = $currErrSchemaPath; - if ($breakOnError) { - $closingBraces += '}'; - out += ' else { '; - } - } - var arr1 = $schema; - if (arr1) { - var $sch, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $sch = arr1[$i += 1]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { '; - var $passData = $data + '[' + $i + ']'; - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); - $it.dataPathArr[$dataNxt] = $i; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - out += ' } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - } - if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? (typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0) || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) { - $it.schema = $additionalItems; - $it.schemaPath = it.schemaPath + '.additionalItems'; - $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; - out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') { for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; - $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); - var $passData = $data + '[' + $idx + ']'; - $it.dataPathArr[$dataNxt] = $idx; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - if ($breakOnError) { - out += ' if (!' + ($nextValid) + ') break; '; - } - out += ' } } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } else if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - out += ' for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; - $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); - var $passData = $data + '[' + $idx + ']'; - $it.dataPathArr[$dataNxt] = $idx; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - if ($breakOnError) { - out += ' if (!' + ($nextValid) + ') break; '; - } - out += ' }'; - } - if ($breakOnError) { - out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; - } - return out; -} - -},{}],29:[function(require,module,exports){ -'use strict'; -module.exports = function generate_multipleOf(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!($isData || typeof $schema == 'number')) { - throw new Error($keyword + ' must be number'); - } - out += 'var division' + ($lvl) + ';if ('; - if ($isData) { - out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \'number\' || '; - } - out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', '; - if (it.opts.multipleOfPrecision) { - out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' '; - } else { - out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') '; - } - out += ' ) '; - if ($isData) { - out += ' ) '; - } - out += ' ) { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('multipleOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be multiple of '; - if ($isData) { - out += '\' + ' + ($schemaValue); - } else { - out += '' + ($schemaValue) + '\''; - } - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} - -},{}],30:[function(require,module,exports){ -'use strict'; -module.exports = function generate_not(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - $it.level++; - var $nextValid = 'valid' + $it.level; - if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - out += ' var ' + ($errs) + ' = errors; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - $it.createErrors = false; - var $allErrorsOption; - if ($it.opts.allErrors) { - $allErrorsOption = $it.opts.allErrors; - $it.opts.allErrors = false; - } - out += ' ' + (it.validate($it)) + ' '; - $it.createErrors = true; - if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' if (' + ($nextValid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT be valid\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; - if (it.opts.allErrors) { - out += ' } '; - } - } else { - out += ' var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT be valid\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - if ($breakOnError) { - out += ' if (false) { '; - } - } - return out; -} - -},{}],31:[function(require,module,exports){ -'use strict'; -module.exports = function generate_oneOf(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $currentBaseId = $it.baseId, - $prevValid = 'prevValid' + $lvl, - $passingSchemas = 'passingSchemas' + $lvl; - out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - var arr1 = $schema; - if (arr1) { - var $sch, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $sch = arr1[$i += 1]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - } else { - out += ' var ' + ($nextValid) + ' = true; '; - } - if ($i) { - out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { '; - $closingBraces += '}'; - } - out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }'; - } - } - it.compositeRule = $it.compositeRule = $wasComposite; - out += '' + ($closingBraces) + 'if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('oneOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should match exactly one schema in oneOf\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError(vErrors); '; - } else { - out += ' validate.errors = vErrors; return false; '; - } - } - out += '} else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }'; - if (it.opts.allErrors) { - out += ' } '; - } - return out; -} - -},{}],32:[function(require,module,exports){ -'use strict'; -module.exports = function generate_pattern(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema); - out += 'if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; - } - out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('pattern') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: '; - if ($isData) { - out += '' + ($schemaValue); - } else { - out += '' + (it.util.toQuotedString($schema)); - } - out += ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should match pattern "'; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + (it.util.escapeQuotes($schema)); - } - out += '"\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + (it.util.toQuotedString($schema)); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} - -},{}],33:[function(require,module,exports){ -'use strict'; -module.exports = function generate_properties(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $key = 'key' + $lvl, - $idx = 'idx' + $lvl, - $dataNxt = $it.dataLevel = it.dataLevel + 1, - $nextData = 'data' + $dataNxt, - $dataProperties = 'dataProperties' + $lvl; - var $schemaKeys = Object.keys($schema || {}).filter(notProto), - $pProperties = it.schema.patternProperties || {}, - $pPropertyKeys = Object.keys($pProperties).filter(notProto), - $aProperties = it.schema.additionalProperties, - $someProperties = $schemaKeys.length || $pPropertyKeys.length, - $noAdditional = $aProperties === false, - $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length, - $removeAdditional = it.opts.removeAdditional, - $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional, - $ownProperties = it.opts.ownProperties, - $currentBaseId = it.baseId; - var $required = it.schema.required; - if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { - var $requiredHash = it.util.toHash($required); - } - - function notProto(p) { - return p !== '__proto__'; - } - out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;'; - if ($ownProperties) { - out += ' var ' + ($dataProperties) + ' = undefined;'; - } - if ($checkAdditional) { - if ($ownProperties) { - out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; - } else { - out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; - } - if ($someProperties) { - out += ' var isAdditional' + ($lvl) + ' = !(false '; - if ($schemaKeys.length) { - if ($schemaKeys.length > 8) { - out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') '; - } else { - var arr1 = $schemaKeys; - if (arr1) { - var $propertyKey, i1 = -1, - l1 = arr1.length - 1; - while (i1 < l1) { - $propertyKey = arr1[i1 += 1]; - out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' '; - } - } - } - } - if ($pPropertyKeys.length) { - var arr2 = $pPropertyKeys; - if (arr2) { - var $pProperty, $i = -1, - l2 = arr2.length - 1; - while ($i < l2) { - $pProperty = arr2[$i += 1]; - out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') '; - } - } - } - out += ' ); if (isAdditional' + ($lvl) + ') { '; - } - if ($removeAdditional == 'all') { - out += ' delete ' + ($data) + '[' + ($key) + ']; '; - } else { - var $currentErrorPath = it.errorPath; - var $additionalProperty = '\' + ' + $key + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - } - if ($noAdditional) { - if ($removeAdditional) { - out += ' delete ' + ($data) + '[' + ($key) + ']; '; - } else { - out += ' ' + ($nextValid) + ' = false; '; - var $currErrSchemaPath = $errSchemaPath; - $errSchemaPath = it.errSchemaPath + '/additionalProperties'; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('additionalProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \'' + ($additionalProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is an invalid additional property'; - } else { - out += 'should NOT have additional properties'; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - $errSchemaPath = $currErrSchemaPath; - if ($breakOnError) { - out += ' break; '; - } - } - } else if ($additionalIsSchema) { - if ($removeAdditional == 'failing') { - out += ' var ' + ($errs) + ' = errors; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - $it.schema = $aProperties; - $it.schemaPath = it.schemaPath + '.additionalProperties'; - $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; - $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - var $passData = $data + '[' + $key + ']'; - $it.dataPathArr[$dataNxt] = $key; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; } '; - it.compositeRule = $it.compositeRule = $wasComposite; - } else { - $it.schema = $aProperties; - $it.schemaPath = it.schemaPath + '.additionalProperties'; - $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; - $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - var $passData = $data + '[' + $key + ']'; - $it.dataPathArr[$dataNxt] = $key; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - if ($breakOnError) { - out += ' if (!' + ($nextValid) + ') break; '; - } - } - } - it.errorPath = $currentErrorPath; - } - if ($someProperties) { - out += ' } '; - } - out += ' } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - var $useDefaults = it.opts.useDefaults && !it.compositeRule; - if ($schemaKeys.length) { - var arr3 = $schemaKeys; - if (arr3) { - var $propertyKey, i3 = -1, - l3 = arr3.length - 1; - while (i3 < l3) { - $propertyKey = arr3[i3 += 1]; - var $sch = $schema[$propertyKey]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - var $prop = it.util.getProperty($propertyKey), - $passData = $data + $prop, - $hasDefault = $useDefaults && $sch.default !== undefined; - $it.schema = $sch; - $it.schemaPath = $schemaPath + $prop; - $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); - $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); - $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - $code = it.util.varReplace($code, $nextData, $passData); - var $useData = $passData; - } else { - var $useData = $nextData; - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; '; - } - if ($hasDefault) { - out += ' ' + ($code) + ' '; - } else { - if ($requiredHash && $requiredHash[$propertyKey]) { - out += ' if ( ' + ($useData) + ' === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ') { ' + ($nextValid) + ' = false; '; - var $currentErrorPath = it.errorPath, - $currErrSchemaPath = $errSchemaPath, - $missingProperty = it.util.escapeQuotes($propertyKey); - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); - } - $errSchemaPath = it.errSchemaPath + '/required'; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - $errSchemaPath = $currErrSchemaPath; - it.errorPath = $currentErrorPath; - out += ' } else { '; - } else { - if ($breakOnError) { - out += ' if ( ' + ($useData) + ' === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ') { ' + ($nextValid) + ' = true; } else { '; - } else { - out += ' if (' + ($useData) + ' !== undefined '; - if ($ownProperties) { - out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ' ) { '; - } - } - out += ' ' + ($code) + ' } '; - } - } - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - } - if ($pPropertyKeys.length) { - var arr4 = $pPropertyKeys; - if (arr4) { - var $pProperty, i4 = -1, - l4 = arr4.length - 1; - while (i4 < l4) { - $pProperty = arr4[i4 += 1]; - var $sch = $pProperties[$pProperty]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - $it.schema = $sch; - $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); - $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty); - if ($ownProperties) { - out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; - } else { - out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; - } - out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { '; - $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - var $passData = $data + '[' + $key + ']'; - $it.dataPathArr[$dataNxt] = $key; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - if ($breakOnError) { - out += ' if (!' + ($nextValid) + ') break; '; - } - out += ' } '; - if ($breakOnError) { - out += ' else ' + ($nextValid) + ' = true; '; - } - out += ' } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - } - } - if ($breakOnError) { - out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; - } - return out; -} - -},{}],34:[function(require,module,exports){ -'use strict'; -module.exports = function generate_propertyNames(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - out += 'var ' + ($errs) + ' = errors;'; - if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - var $key = 'key' + $lvl, - $idx = 'idx' + $lvl, - $i = 'i' + $lvl, - $invalidName = '\' + ' + $key + ' + \'', - $dataNxt = $it.dataLevel = it.dataLevel + 1, - $nextData = 'data' + $dataNxt, - $dataProperties = 'dataProperties' + $lvl, - $ownProperties = it.opts.ownProperties, - $currentBaseId = it.baseId; - if ($ownProperties) { - out += ' var ' + ($dataProperties) + ' = undefined; '; - } - if ($ownProperties) { - out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; - } else { - out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; - } - out += ' var startErrs' + ($lvl) + ' = errors; '; - var $passData = $key; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + ' 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) { - $required[$required.length] = $property; - } - } - } - } else { - var $required = $schema; - } - } - if ($isData || $required.length) { - var $currentErrorPath = it.errorPath, - $loopRequired = $isData || $required.length >= it.opts.loopRequired, - $ownProperties = it.opts.ownProperties; - if ($breakOnError) { - out += ' var missing' + ($lvl) + '; '; - if ($loopRequired) { - if (!$isData) { - out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; - } - var $i = 'i' + $lvl, - $propertyPath = 'schema' + $lvl + '[' + $i + ']', - $missingProperty = '\' + ' + $propertyPath + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); - } - out += ' var ' + ($valid) + ' = true; '; - if ($isData) { - out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; - } - out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined '; - if ($ownProperties) { - out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; - } - out += '; if (!' + ($valid) + ') break; } '; - if ($isData) { - out += ' } '; - } - out += ' if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else { '; - } else { - out += ' if ( '; - var arr2 = $required; - if (arr2) { - var $propertyKey, $i = -1, - l2 = arr2.length - 1; - while ($i < l2) { - $propertyKey = arr2[$i += 1]; - if ($i) { - out += ' || '; - } - var $prop = it.util.getProperty($propertyKey), - $useData = $data + $prop; - out += ' ( ( ' + ($useData) + ' === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) '; - } - } - out += ') { '; - var $propertyPath = 'missing' + $lvl, - $missingProperty = '\' + ' + $propertyPath + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath; - } - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else { '; - } - } else { - if ($loopRequired) { - if (!$isData) { - out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; - } - var $i = 'i' + $lvl, - $propertyPath = 'schema' + $lvl + '[' + $i + ']', - $missingProperty = '\' + ' + $propertyPath + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); - } - if ($isData) { - out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { '; - } - out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; - } - out += ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } '; - if ($isData) { - out += ' } '; - } - } else { - var arr3 = $required; - if (arr3) { - var $propertyKey, i3 = -1, - l3 = arr3.length - 1; - while (i3 < l3) { - $propertyKey = arr3[i3 += 1]; - var $prop = it.util.getProperty($propertyKey), - $missingProperty = it.util.escapeQuotes($propertyKey), - $useData = $data + $prop; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); - } - out += ' if ( ' + ($useData) + ' === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } '; - } - } - } - } - it.errorPath = $currentErrorPath; - } else if ($breakOnError) { - out += ' if (true) {'; - } - return out; -} - -},{}],37:[function(require,module,exports){ -'use strict'; -module.exports = function generate_uniqueItems(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (($schema || $isData) && it.opts.uniqueItems !== false) { - if ($isData) { - out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \'boolean\') ' + ($valid) + ' = false; else { '; - } - out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { '; - var $itemType = it.schema.items && it.schema.items.type, - $typeIsArray = Array.isArray($itemType); - if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) { - out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } '; - } else { - out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; '; - var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); - out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; '; - if ($typeIsArray) { - out += ' if (typeof item == \'string\') item = \'"\' + item; '; - } - out += ' if (typeof itemIndices[item] == \'number\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } '; - } - out += ' } '; - if ($isData) { - out += ' } '; - } - out += ' if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('uniqueItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT have duplicate items (items ## \' + j + \' and \' + i + \' are identical)\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - if ($breakOnError) { - out += ' else { '; - } - } else { - if ($breakOnError) { - out += ' if (true) { '; - } - } - return out; -} - -},{}],38:[function(require,module,exports){ -'use strict'; -module.exports = function generate_validate(it, $keyword, $ruleType) { - var out = ''; - var $async = it.schema.$async === true, - $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'), - $id = it.self._getId(it.schema); - if (it.opts.strictKeywords) { - var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); - if ($unknownKwd) { - var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; - if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); - else throw new Error($keywordsMsg); - } - } - if (it.isTop) { - out += ' var validate = '; - if ($async) { - it.async = true; - out += 'async '; - } - out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \'use strict\'; '; - if ($id && (it.opts.sourceCode || it.opts.processCode)) { - out += ' ' + ('/\*# sourceURL=' + $id + ' */') + ' '; - } - } - if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) { - var $keyword = 'false schema'; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - if (it.schema === false) { - if (it.isTop) { - $breakOnError = true; - } else { - out += ' var ' + ($valid) + ' = false; '; - } - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'false schema') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'boolean schema is false\' '; - } - if (it.opts.verbose) { - out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - } else { - if (it.isTop) { - if ($async) { - out += ' return data; '; - } else { - out += ' validate.errors = null; return true; '; - } - } else { - out += ' var ' + ($valid) + ' = true; '; - } - } - if (it.isTop) { - out += ' }; return validate; '; - } - return out; - } - if (it.isTop) { - var $top = it.isTop, - $lvl = it.level = 0, - $dataLvl = it.dataLevel = 0, - $data = 'data'; - it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); - it.baseId = it.baseId || it.rootId; - delete it.isTop; - it.dataPathArr = [""]; - if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { - var $defaultMsg = 'default is ignored in the schema root'; - if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); - else throw new Error($defaultMsg); - } - out += ' var vErrors = null; '; - out += ' var errors = 0; '; - out += ' if (rootData === undefined) rootData = data; '; - } else { - var $lvl = it.level, - $dataLvl = it.dataLevel, - $data = 'data' + ($dataLvl || ''); - if ($id) it.baseId = it.resolve.url(it.baseId, $id); - if ($async && !it.async) throw new Error('async schema in sync schema'); - out += ' var errs_' + ($lvl) + ' = errors;'; - } - var $valid = 'valid' + $lvl, - $breakOnError = !it.opts.allErrors, - $closingBraces1 = '', - $closingBraces2 = ''; - var $errorKeyword; - var $typeSchema = it.schema.type, - $typeIsArray = Array.isArray($typeSchema); - if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { - if ($typeIsArray) { - if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null'); - } else if ($typeSchema != 'null') { - $typeSchema = [$typeSchema, 'null']; - $typeIsArray = true; - } - } - if ($typeIsArray && $typeSchema.length == 1) { - $typeSchema = $typeSchema[0]; - $typeIsArray = false; - } - if (it.schema.$ref && $refKeywords) { - if (it.opts.extendRefs == 'fail') { - throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); - } else if (it.opts.extendRefs !== true) { - $refKeywords = false; - it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); - } - } - if (it.schema.$comment && it.opts.$comment) { - out += ' ' + (it.RULES.all.$comment.code(it, '$comment')); - } - if ($typeSchema) { - if (it.opts.coerceTypes) { - var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); - } - var $rulesGroup = it.RULES.types[$typeSchema]; - if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) { - var $schemaPath = it.schemaPath + '.type', - $errSchemaPath = it.errSchemaPath + '/type'; - var $schemaPath = it.schemaPath + '.type', - $errSchemaPath = it.errSchemaPath + '/type', - $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; - out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { '; - if ($coerceToTypes) { - var $dataType = 'dataType' + $lvl, - $coerced = 'coerced' + $lvl; - out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; '; - if (it.opts.coerceTypes == 'array') { - out += ' if (' + ($dataType) + ' == \'object\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } '; - } - out += ' if (' + ($coerced) + ' !== undefined) ; '; - var arr1 = $coerceToTypes; - if (arr1) { - var $type, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $type = arr1[$i += 1]; - if ($type == 'string') { - out += ' else if (' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\') ' + ($coerced) + ' = \'\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \'\'; '; - } else if ($type == 'number' || $type == 'integer') { - out += ' else if (' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \'string\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' '; - if ($type == 'integer') { - out += ' && !(' + ($data) + ' % 1)'; - } - out += ')) ' + ($coerced) + ' = +' + ($data) + '; '; - } else if ($type == 'boolean') { - out += ' else if (' + ($data) + ' === \'false\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \'true\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; '; - } else if ($type == 'null') { - out += ' else if (' + ($data) + ' === \'\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; '; - } else if (it.opts.coerceTypes == 'array' && $type == 'array') { - out += ' else if (' + ($dataType) + ' == \'string\' || ' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; '; - } - } - } - out += ' else { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be '; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } if (' + ($coerced) + ' !== undefined) { '; - var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', - $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; - out += ' ' + ($data) + ' = ' + ($coerced) + '; '; - if (!$dataLvl) { - out += 'if (' + ($parentData) + ' !== undefined)'; - } - out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } '; - } else { - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be '; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - } - out += ' } '; - } - } - if (it.schema.$ref && !$refKeywords) { - out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' '; - if ($breakOnError) { - out += ' } if (errors === '; - if ($top) { - out += '0'; - } else { - out += 'errs_' + ($lvl); - } - out += ') { '; - $closingBraces2 += '}'; - } - } else { - var arr2 = it.RULES; - if (arr2) { - var $rulesGroup, i2 = -1, - l2 = arr2.length - 1; - while (i2 < l2) { - $rulesGroup = arr2[i2 += 1]; - if ($shouldUseGroup($rulesGroup)) { - if ($rulesGroup.type) { - out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { '; - } - if (it.opts.useDefaults) { - if ($rulesGroup.type == 'object' && it.schema.properties) { - var $schema = it.schema.properties, - $schemaKeys = Object.keys($schema); - var arr3 = $schemaKeys; - if (arr3) { - var $propertyKey, i3 = -1, - l3 = arr3.length - 1; - while (i3 < l3) { - $propertyKey = arr3[i3 += 1]; - var $sch = $schema[$propertyKey]; - if ($sch.default !== undefined) { - var $passData = $data + it.util.getProperty($propertyKey); - if (it.compositeRule) { - if (it.opts.strictDefaults) { - var $defaultMsg = 'default is ignored for: ' + $passData; - if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); - else throw new Error($defaultMsg); - } - } else { - out += ' if (' + ($passData) + ' === undefined '; - if (it.opts.useDefaults == 'empty') { - out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; - } - out += ' ) ' + ($passData) + ' = '; - if (it.opts.useDefaults == 'shared') { - out += ' ' + (it.useDefault($sch.default)) + ' '; - } else { - out += ' ' + (JSON.stringify($sch.default)) + ' '; - } - out += '; '; - } - } - } - } - } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) { - var arr4 = it.schema.items; - if (arr4) { - var $sch, $i = -1, - l4 = arr4.length - 1; - while ($i < l4) { - $sch = arr4[$i += 1]; - if ($sch.default !== undefined) { - var $passData = $data + '[' + $i + ']'; - if (it.compositeRule) { - if (it.opts.strictDefaults) { - var $defaultMsg = 'default is ignored for: ' + $passData; - if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); - else throw new Error($defaultMsg); - } - } else { - out += ' if (' + ($passData) + ' === undefined '; - if (it.opts.useDefaults == 'empty') { - out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; - } - out += ' ) ' + ($passData) + ' = '; - if (it.opts.useDefaults == 'shared') { - out += ' ' + (it.useDefault($sch.default)) + ' '; - } else { - out += ' ' + (JSON.stringify($sch.default)) + ' '; - } - out += '; '; - } - } - } - } - } - } - var arr5 = $rulesGroup.rules; - if (arr5) { - var $rule, i5 = -1, - l5 = arr5.length - 1; - while (i5 < l5) { - $rule = arr5[i5 += 1]; - if ($shouldUseRule($rule)) { - var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); - if ($code) { - out += ' ' + ($code) + ' '; - if ($breakOnError) { - $closingBraces1 += '}'; - } - } - } - } - } - if ($breakOnError) { - out += ' ' + ($closingBraces1) + ' '; - $closingBraces1 = ''; - } - if ($rulesGroup.type) { - out += ' } '; - if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) { - out += ' else { '; - var $schemaPath = it.schemaPath + '.type', - $errSchemaPath = it.errSchemaPath + '/type'; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be '; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - } - } - if ($breakOnError) { - out += ' if (errors === '; - if ($top) { - out += '0'; - } else { - out += 'errs_' + ($lvl); - } - out += ') { '; - $closingBraces2 += '}'; - } - } - } - } - } - if ($breakOnError) { - out += ' ' + ($closingBraces2) + ' '; - } - if ($top) { - if ($async) { - out += ' if (errors === 0) return data; '; - out += ' else throw new ValidationError(vErrors); '; - } else { - out += ' validate.errors = vErrors; '; - out += ' return errors === 0; '; - } - out += ' }; return validate;'; - } else { - out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';'; - } - - function $shouldUseGroup($rulesGroup) { - var rules = $rulesGroup.rules; - for (var i = 0; i < rules.length; i++) - if ($shouldUseRule(rules[i])) return true; - } - - function $shouldUseRule($rule) { - return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule)); - } - - function $ruleImplementsSomeKeyword($rule) { - var impl = $rule.implements; - for (var i = 0; i < impl.length; i++) - if (it.schema[impl[i]] !== undefined) return true; - } - return out; -} - -},{}],39:[function(require,module,exports){ -'use strict'; - -var IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i; -var customRuleCode = require('./dotjs/custom'); -var definitionSchema = require('./definition_schema'); - -module.exports = { - add: addKeyword, - get: getKeyword, - remove: removeKeyword, - validate: validateKeyword -}; - - -/** - * Define custom keyword - * @this Ajv - * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords). - * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. - * @return {Ajv} this for method chaining - */ -function addKeyword(keyword, definition) { - /* jshint validthis: true */ - /* eslint no-shadow: 0 */ - var RULES = this.RULES; - if (RULES.keywords[keyword]) - throw new Error('Keyword ' + keyword + ' is already defined'); - - if (!IDENTIFIER.test(keyword)) - throw new Error('Keyword ' + keyword + ' is not a valid identifier'); - - if (definition) { - this.validateKeyword(definition, true); - - var dataType = definition.type; - if (Array.isArray(dataType)) { - for (var i=0; i 1) { - sets[0] = sets[0].slice(0, -1); - var xl = sets.length - 1; - for (var x = 1; x < xl; ++x) { - sets[x] = sets[x].slice(1, -1); - } - sets[xl] = sets[xl].slice(1); - return sets.join(''); - } else { - return sets[0]; - } -} -function subexp(str) { - return "(?:" + str + ")"; -} -function typeOf(o) { - return o === undefined ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase(); -} -function toUpperCase(str) { - return str.toUpperCase(); -} -function toArray(obj) { - return obj !== undefined && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : []; -} -function assign(target, source) { - var obj = target; - if (source) { - for (var key in source) { - obj[key] = source[key]; - } - } - return obj; -} - -function buildExps(isIRI) { - var ALPHA$$ = "[A-Za-z]", - CR$ = "[\\x0D]", - DIGIT$$ = "[0-9]", - DQUOTE$$ = "[\\x22]", - HEXDIG$$ = merge(DIGIT$$, "[A-Fa-f]"), - //case-insensitive - LF$$ = "[\\x0A]", - SP$$ = "[\\x20]", - PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)), - //expanded - GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", - SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", - RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), - UCSCHAR$$ = isIRI ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", - //subset, excludes bidi control characters - IPRIVATE$$ = isIRI ? "[\\uE000-\\uF8FF]" : "[]", - //subset - UNRESERVED$$ = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), - SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), - USERINFO$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]")) + "*"), - DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), - DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), - //relaxed parsing rules - IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), - H16$ = subexp(HEXDIG$$ + "{1,4}"), - LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), - IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), - // 6( h16 ":" ) ls32 - IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), - // "::" 5( h16 ":" ) ls32 - IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), - //[ h16 ] "::" 4( h16 ":" ) ls32 - IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), - //[ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 - IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), - //[ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 - IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), - //[ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 - IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), - //[ *4( h16 ":" ) h16 ] "::" ls32 - IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), - //[ *5( h16 ":" ) h16 ] "::" h16 - IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), - //[ *6( h16 ":" ) h16 ] "::" - IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), - ZONEID$ = subexp(subexp(UNRESERVED$$ + "|" + PCT_ENCODED$) + "+"), - //RFC 6874 - IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), - //RFC 6874 - IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + ZONEID$), - //RFC 6874, with relaxed parsing rules - IPVFUTURE$ = subexp("[vV]" + HEXDIG$$ + "+\\." + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:]") + "+"), - IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), - //RFC 6874 - REG_NAME$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$)) + "*"), - HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")" + "|" + REG_NAME$), - PORT$ = subexp(DIGIT$$ + "*"), - AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), - PCHAR$ = subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@]")), - SEGMENT$ = subexp(PCHAR$ + "*"), - SEGMENT_NZ$ = subexp(PCHAR$ + "+"), - SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$ + "|" + merge(UNRESERVED$$, SUB_DELIMS$$, "[\\@]")) + "+"), - PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), - PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), - //simplified - PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), - //simplified - PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), - //simplified - PATH_EMPTY$ = "(?!" + PCHAR$ + ")", - PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), - QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), - FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), - HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), - URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), - RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), - RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), - URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), - ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), - GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", - RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", - ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", - SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", - AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$"; - return { - NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"), - NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), - NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$, SUB_DELIMS$$), "g"), - NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), - NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$, SUB_DELIMS$$), "g"), - NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"), - NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"), - ESCAPE: new RegExp(merge("[^]", UNRESERVED$$, SUB_DELIMS$$), "g"), - UNRESERVED: new RegExp(UNRESERVED$$, "g"), - OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$, RESERVED$$), "g"), - PCT_ENCODED: new RegExp(PCT_ENCODED$, "g"), - IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"), - IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$ + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$") //RFC 6874, with relaxed parsing rules - }; -} -var URI_PROTOCOL = buildExps(false); - -var IRI_PROTOCOL = buildExps(true); - -var slicedToArray = function () { - function sliceIterator(arr, i) { - var _arr = []; - var _n = true; - var _d = false; - var _e = undefined; - - try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"]) _i["return"](); - } finally { - if (_d) throw _e; - } - } - - return _arr; - } - - return function (arr, i) { - if (Array.isArray(arr)) { - return arr; - } else if (Symbol.iterator in Object(arr)) { - return sliceIterator(arr, i); - } else { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); - } - }; -}(); - - - - - - - - - - - - - -var toConsumableArray = function (arr) { - if (Array.isArray(arr)) { - for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; - - return arr2; - } else { - return Array.from(arr); - } -}; - -/** Highest positive signed 32-bit float value */ - -var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 - -/** Bootstring parameters */ -var base = 36; -var tMin = 1; -var tMax = 26; -var skew = 38; -var damp = 700; -var initialBias = 72; -var initialN = 128; // 0x80 -var delimiter = '-'; // '\x2D' - -/** Regular expressions */ -var regexPunycode = /^xn--/; -var regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars -var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators - -/** Error messages */ -var errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' -}; - -/** Convenience shortcuts */ -var baseMinusTMin = base - tMin; -var floor = Math.floor; -var stringFromCharCode = String.fromCharCode; - -/*--------------------------------------------------------------------------*/ - -/** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ -function error$1(type) { - throw new RangeError(errors[type]); -} - -/** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ -function map(array, fn) { - var result = []; - var length = array.length; - while (length--) { - result[length] = fn(array[length]); - } - return result; -} - -/** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ -function mapDomain(string, fn) { - var parts = string.split('@'); - var result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - var labels = string.split('.'); - var encoded = map(labels, fn).join('.'); - return result + encoded; -} - -/** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ -function ucs2decode(string) { - var output = []; - var counter = 0; - var length = string.length; - while (counter < length) { - var value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // It's a high surrogate, and there is a next character. - var extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { - // Low surrogate. - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // It's an unmatched surrogate; only append this code unit, in case the - // next code unit is the high surrogate of a surrogate pair. - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; -} - -/** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ -var ucs2encode = function ucs2encode(array) { - return String.fromCodePoint.apply(String, toConsumableArray(array)); -}; - -/** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ -var basicToDigit = function basicToDigit(codePoint) { - if (codePoint - 0x30 < 0x0A) { - return codePoint - 0x16; - } - if (codePoint - 0x41 < 0x1A) { - return codePoint - 0x41; - } - if (codePoint - 0x61 < 0x1A) { - return codePoint - 0x61; - } - return base; -}; - -/** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ -var digitToBasic = function digitToBasic(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); -}; - -/** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ -var adapt = function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); -}; - -/** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ -var decode = function decode(input) { - // Don't use UCS-2. - var output = []; - var inputLength = input.length; - var i = 0; - var n = initialN; - var bias = initialBias; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - var basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (var j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error$1('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{ - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - var oldi = i; - for (var w = 1, k = base;; /* no condition */k += base) { - - if (index >= inputLength) { - error$1('invalid-input'); - } - - var digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error$1('overflow'); - } - - i += digit * w; - var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - - if (digit < t) { - break; - } - - var baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error$1('overflow'); - } - - w *= baseMinusT; - } - - var out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error$1('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output. - output.splice(i++, 0, n); - } - - return String.fromCodePoint.apply(String, output); -}; - -/** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ -var encode = function encode(input) { - var output = []; - - // Convert the input in UCS-2 to an array of Unicode code points. - input = ucs2decode(input); - - // Cache the length. - var inputLength = input.length; - - // Initialize the state. - var n = initialN; - var delta = 0; - var bias = initialBias; - - // Handle the basic code points. - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _currentValue2 = _step.value; - - if (_currentValue2 < 0x80) { - output.push(stringFromCharCode(_currentValue2)); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - var basicLength = output.length; - var handledCPCount = basicLength; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string with a delimiter unless it's empty. - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - var m = maxInt; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var currentValue = _step2.value; - - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow. - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - var handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error$1('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _currentValue = _step3.value; - - if (_currentValue < n && ++delta > maxInt) { - error$1('overflow'); - } - if (_currentValue == n) { - // Represent delta as a generalized variable-length integer. - var q = delta; - for (var k = base;; /* no condition */k += base) { - var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (q < t) { - break; - } - var qMinusT = q - t; - var baseMinusT = base - t; - output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - ++delta; - ++n; - } - return output.join(''); -}; - -/** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ -var toUnicode = function toUnicode(input) { - return mapDomain(input, function (string) { - return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; - }); -}; - -/** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ -var toASCII = function toASCII(input) { - return mapDomain(input, function (string) { - return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; - }); -}; - -/*--------------------------------------------------------------------------*/ - -/** Define the public API */ -var punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '2.1.0', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode -}; - -/** - * URI.js - * - * @fileoverview An RFC 3986 compliant, scheme extendable URI parsing/validating/resolving library for JavaScript. - * @author Gary Court - * @see http://github.com/garycourt/uri-js - */ -/** - * Copyright 2011 Gary Court. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY GARY COURT ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARY COURT OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of Gary Court. - */ -var SCHEMES = {}; -function pctEncChar(chr) { - var c = chr.charCodeAt(0); - var e = void 0; - if (c < 16) e = "%0" + c.toString(16).toUpperCase();else if (c < 128) e = "%" + c.toString(16).toUpperCase();else if (c < 2048) e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();else e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase(); - return e; -} -function pctDecChars(str) { - var newStr = ""; - var i = 0; - var il = str.length; - while (i < il) { - var c = parseInt(str.substr(i + 1, 2), 16); - if (c < 128) { - newStr += String.fromCharCode(c); - i += 3; - } else if (c >= 194 && c < 224) { - if (il - i >= 6) { - var c2 = parseInt(str.substr(i + 4, 2), 16); - newStr += String.fromCharCode((c & 31) << 6 | c2 & 63); - } else { - newStr += str.substr(i, 6); - } - i += 6; - } else if (c >= 224) { - if (il - i >= 9) { - var _c = parseInt(str.substr(i + 4, 2), 16); - var c3 = parseInt(str.substr(i + 7, 2), 16); - newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63); - } else { - newStr += str.substr(i, 9); - } - i += 9; - } else { - newStr += str.substr(i, 3); - i += 3; - } - } - return newStr; -} -function _normalizeComponentEncoding(components, protocol) { - function decodeUnreserved(str) { - var decStr = pctDecChars(str); - return !decStr.match(protocol.UNRESERVED) ? str : decStr; - } - if (components.scheme) components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_SCHEME, ""); - if (components.userinfo !== undefined) components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.host !== undefined) components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.path !== undefined) components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.query !== undefined) components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - if (components.fragment !== undefined) components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase); - return components; -} - -function _stripLeadingZeros(str) { - return str.replace(/^0*(.*)/, "$1") || "0"; -} -function _normalizeIPv4(host, protocol) { - var matches = host.match(protocol.IPV4ADDRESS) || []; - - var _matches = slicedToArray(matches, 2), - address = _matches[1]; - - if (address) { - return address.split(".").map(_stripLeadingZeros).join("."); - } else { - return host; - } -} -function _normalizeIPv6(host, protocol) { - var matches = host.match(protocol.IPV6ADDRESS) || []; - - var _matches2 = slicedToArray(matches, 3), - address = _matches2[1], - zone = _matches2[2]; - - if (address) { - var _address$toLowerCase$ = address.toLowerCase().split('::').reverse(), - _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), - last = _address$toLowerCase$2[0], - first = _address$toLowerCase$2[1]; - - var firstFields = first ? first.split(":").map(_stripLeadingZeros) : []; - var lastFields = last.split(":").map(_stripLeadingZeros); - var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]); - var fieldCount = isLastFieldIPv4Address ? 7 : 8; - var lastFieldsStart = lastFields.length - fieldCount; - var fields = Array(fieldCount); - for (var x = 0; x < fieldCount; ++x) { - fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || ''; - } - if (isLastFieldIPv4Address) { - fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol); - } - var allZeroFields = fields.reduce(function (acc, field, index) { - if (!field || field === "0") { - var lastLongest = acc[acc.length - 1]; - if (lastLongest && lastLongest.index + lastLongest.length === index) { - lastLongest.length++; - } else { - acc.push({ index: index, length: 1 }); - } - } - return acc; - }, []); - var longestZeroFields = allZeroFields.sort(function (a, b) { - return b.length - a.length; - })[0]; - var newHost = void 0; - if (longestZeroFields && longestZeroFields.length > 1) { - var newFirst = fields.slice(0, longestZeroFields.index); - var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length); - newHost = newFirst.join(":") + "::" + newLast.join(":"); - } else { - newHost = fields.join(":"); - } - if (zone) { - newHost += "%" + zone; - } - return newHost; - } else { - return host; - } -} -var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i; -var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === undefined; -function parse(uriString) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var components = {}; - var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; - if (options.reference === "suffix") uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString; - var matches = uriString.match(URI_PARSE); - if (matches) { - if (NO_MATCH_IS_UNDEFINED) { - //store each component - components.scheme = matches[1]; - components.userinfo = matches[3]; - components.host = matches[4]; - components.port = parseInt(matches[5], 10); - components.path = matches[6] || ""; - components.query = matches[7]; - components.fragment = matches[8]; - //fix port number - if (isNaN(components.port)) { - components.port = matches[5]; - } - } else { - //IE FIX for improper RegExp matching - //store each component - components.scheme = matches[1] || undefined; - components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : undefined; - components.host = uriString.indexOf("//") !== -1 ? matches[4] : undefined; - components.port = parseInt(matches[5], 10); - components.path = matches[6] || ""; - components.query = uriString.indexOf("?") !== -1 ? matches[7] : undefined; - components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : undefined; - //fix port number - if (isNaN(components.port)) { - components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : undefined; - } - } - if (components.host) { - //normalize IP hosts - components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol); - } - //determine reference type - if (components.scheme === undefined && components.userinfo === undefined && components.host === undefined && components.port === undefined && !components.path && components.query === undefined) { - components.reference = "same-document"; - } else if (components.scheme === undefined) { - components.reference = "relative"; - } else if (components.fragment === undefined) { - components.reference = "absolute"; - } else { - components.reference = "uri"; - } - //check for reference errors - if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) { - components.error = components.error || "URI is not a " + options.reference + " reference."; - } - //find scheme handler - var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; - //check if scheme can't handle IRIs - if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) { - //if host component is a domain name - if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) { - //convert Unicode IDN -> ASCII IDN - try { - components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()); - } catch (e) { - components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e; - } - } - //convert IRI -> URI - _normalizeComponentEncoding(components, URI_PROTOCOL); - } else { - //normalize encodings - _normalizeComponentEncoding(components, protocol); - } - //perform scheme specific parsing - if (schemeHandler && schemeHandler.parse) { - schemeHandler.parse(components, options); - } - } else { - components.error = components.error || "URI can not be parsed."; - } - return components; -} - -function _recomposeAuthority(components, options) { - var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL; - var uriTokens = []; - if (components.userinfo !== undefined) { - uriTokens.push(components.userinfo); - uriTokens.push("@"); - } - if (components.host !== undefined) { - //normalize IP hosts, add brackets and escape zone separator for IPv6 - uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function (_, $1, $2) { - return "[" + $1 + ($2 ? "%25" + $2 : "") + "]"; - })); - } - if (typeof components.port === "number" || typeof components.port === "string") { - uriTokens.push(":"); - uriTokens.push(String(components.port)); - } - return uriTokens.length ? uriTokens.join("") : undefined; -} - -var RDS1 = /^\.\.?\//; -var RDS2 = /^\/\.(\/|$)/; -var RDS3 = /^\/\.\.(\/|$)/; -var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/; -function removeDotSegments(input) { - var output = []; - while (input.length) { - if (input.match(RDS1)) { - input = input.replace(RDS1, ""); - } else if (input.match(RDS2)) { - input = input.replace(RDS2, "/"); - } else if (input.match(RDS3)) { - input = input.replace(RDS3, "/"); - output.pop(); - } else if (input === "." || input === "..") { - input = ""; - } else { - var im = input.match(RDS5); - if (im) { - var s = im[0]; - input = input.slice(s.length); - output.push(s); - } else { - throw new Error("Unexpected dot segment condition"); - } - } - } - return output.join(""); -} - -function serialize(components) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL; - var uriTokens = []; - //find scheme handler - var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()]; - //perform scheme specific serialization - if (schemeHandler && schemeHandler.serialize) schemeHandler.serialize(components, options); - if (components.host) { - //if host component is an IPv6 address - if (protocol.IPV6ADDRESS.test(components.host)) {} - //TODO: normalize IPv6 address as per RFC 5952 - - //if host component is a domain name - else if (options.domainHost || schemeHandler && schemeHandler.domainHost) { - //convert IDN via punycode - try { - components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host); - } catch (e) { - components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; - } - } - } - //normalize encoding - _normalizeComponentEncoding(components, protocol); - if (options.reference !== "suffix" && components.scheme) { - uriTokens.push(components.scheme); - uriTokens.push(":"); - } - var authority = _recomposeAuthority(components, options); - if (authority !== undefined) { - if (options.reference !== "suffix") { - uriTokens.push("//"); - } - uriTokens.push(authority); - if (components.path && components.path.charAt(0) !== "/") { - uriTokens.push("/"); - } - } - if (components.path !== undefined) { - var s = components.path; - if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) { - s = removeDotSegments(s); - } - if (authority === undefined) { - s = s.replace(/^\/\//, "/%2F"); //don't allow the path to start with "//" - } - uriTokens.push(s); - } - if (components.query !== undefined) { - uriTokens.push("?"); - uriTokens.push(components.query); - } - if (components.fragment !== undefined) { - uriTokens.push("#"); - uriTokens.push(components.fragment); - } - return uriTokens.join(""); //merge tokens into a string -} - -function resolveComponents(base, relative) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - var skipNormalization = arguments[3]; - - var target = {}; - if (!skipNormalization) { - base = parse(serialize(base, options), options); //normalize base components - relative = parse(serialize(relative, options), options); //normalize relative components - } - options = options || {}; - if (!options.tolerant && relative.scheme) { - target.scheme = relative.scheme; - //target.authority = relative.authority; - target.userinfo = relative.userinfo; - target.host = relative.host; - target.port = relative.port; - target.path = removeDotSegments(relative.path || ""); - target.query = relative.query; - } else { - if (relative.userinfo !== undefined || relative.host !== undefined || relative.port !== undefined) { - //target.authority = relative.authority; - target.userinfo = relative.userinfo; - target.host = relative.host; - target.port = relative.port; - target.path = removeDotSegments(relative.path || ""); - target.query = relative.query; - } else { - if (!relative.path) { - target.path = base.path; - if (relative.query !== undefined) { - target.query = relative.query; - } else { - target.query = base.query; - } - } else { - if (relative.path.charAt(0) === "/") { - target.path = removeDotSegments(relative.path); - } else { - if ((base.userinfo !== undefined || base.host !== undefined || base.port !== undefined) && !base.path) { - target.path = "/" + relative.path; - } else if (!base.path) { - target.path = relative.path; - } else { - target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path; - } - target.path = removeDotSegments(target.path); - } - target.query = relative.query; - } - //target.authority = base.authority; - target.userinfo = base.userinfo; - target.host = base.host; - target.port = base.port; - } - target.scheme = base.scheme; - } - target.fragment = relative.fragment; - return target; -} - -function resolve(baseURI, relativeURI, options) { - var schemelessOptions = assign({ scheme: 'null' }, options); - return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions); -} - -function normalize(uri, options) { - if (typeof uri === "string") { - uri = serialize(parse(uri, options), options); - } else if (typeOf(uri) === "object") { - uri = parse(serialize(uri, options), options); - } - return uri; -} - -function equal(uriA, uriB, options) { - if (typeof uriA === "string") { - uriA = serialize(parse(uriA, options), options); - } else if (typeOf(uriA) === "object") { - uriA = serialize(uriA, options); - } - if (typeof uriB === "string") { - uriB = serialize(parse(uriB, options), options); - } else if (typeOf(uriB) === "object") { - uriB = serialize(uriB, options); - } - return uriA === uriB; -} - -function escapeComponent(str, options) { - return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar); -} - -function unescapeComponent(str, options) { - return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars); -} - -var handler = { - scheme: "http", - domainHost: true, - parse: function parse(components, options) { - //report missing host - if (!components.host) { - components.error = components.error || "HTTP URIs must have a host."; - } - return components; - }, - serialize: function serialize(components, options) { - var secure = String(components.scheme).toLowerCase() === "https"; - //normalize the default port - if (components.port === (secure ? 443 : 80) || components.port === "") { - components.port = undefined; - } - //normalize the empty path - if (!components.path) { - components.path = "/"; - } - //NOTE: We do not parse query strings for HTTP URIs - //as WWW Form Url Encoded query strings are part of the HTML4+ spec, - //and not the HTTP spec. - return components; - } -}; - -var handler$1 = { - scheme: "https", - domainHost: handler.domainHost, - parse: handler.parse, - serialize: handler.serialize -}; - -function isSecure(wsComponents) { - return typeof wsComponents.secure === 'boolean' ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss"; -} -//RFC 6455 -var handler$2 = { - scheme: "ws", - domainHost: true, - parse: function parse(components, options) { - var wsComponents = components; - //indicate if the secure flag is set - wsComponents.secure = isSecure(wsComponents); - //construct resouce name - wsComponents.resourceName = (wsComponents.path || '/') + (wsComponents.query ? '?' + wsComponents.query : ''); - wsComponents.path = undefined; - wsComponents.query = undefined; - return wsComponents; - }, - serialize: function serialize(wsComponents, options) { - //normalize the default port - if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") { - wsComponents.port = undefined; - } - //ensure scheme matches secure flag - if (typeof wsComponents.secure === 'boolean') { - wsComponents.scheme = wsComponents.secure ? 'wss' : 'ws'; - wsComponents.secure = undefined; - } - //reconstruct path from resource name - if (wsComponents.resourceName) { - var _wsComponents$resourc = wsComponents.resourceName.split('?'), - _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), - path = _wsComponents$resourc2[0], - query = _wsComponents$resourc2[1]; - - wsComponents.path = path && path !== '/' ? path : undefined; - wsComponents.query = query; - wsComponents.resourceName = undefined; - } - //forbid fragment component - wsComponents.fragment = undefined; - return wsComponents; - } -}; - -var handler$3 = { - scheme: "wss", - domainHost: handler$2.domainHost, - parse: handler$2.parse, - serialize: handler$2.serialize -}; - -var O = {}; -var isIRI = true; -//RFC 3986 -var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]"; -var HEXDIG$$ = "[0-9A-Fa-f]"; //case-insensitive -var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$)); //expanded -//RFC 5322, except these symbols as per RFC 6068: @ : / ? # [ ] & ; = -//const ATEXT$$ = "[A-Za-z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]"; -//const WSP$$ = "[\\x20\\x09]"; -//const OBS_QTEXT$$ = "[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]"; //(%d1-8 / %d11-12 / %d14-31 / %d127) -//const QTEXT$$ = merge("[\\x21\\x23-\\x5B\\x5D-\\x7E]", OBS_QTEXT$$); //%d33 / %d35-91 / %d93-126 / obs-qtext -//const VCHAR$$ = "[\\x21-\\x7E]"; -//const WSP$$ = "[\\x20\\x09]"; -//const OBS_QP$ = subexp("\\\\" + merge("[\\x00\\x0D\\x0A]", OBS_QTEXT$$)); //%d0 / CR / LF / obs-qtext -//const FWS$ = subexp(subexp(WSP$$ + "*" + "\\x0D\\x0A") + "?" + WSP$$ + "+"); -//const QUOTED_PAIR$ = subexp(subexp("\\\\" + subexp(VCHAR$$ + "|" + WSP$$)) + "|" + OBS_QP$); -//const QUOTED_STRING$ = subexp('\\"' + subexp(FWS$ + "?" + QCONTENT$) + "*" + FWS$ + "?" + '\\"'); -var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]"; -var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]"; -var VCHAR$$ = merge(QTEXT$$, "[\\\"\\\\]"); -var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"; -var UNRESERVED = new RegExp(UNRESERVED$$, "g"); -var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g"); -var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g"); -var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g"); -var NOT_HFVALUE = NOT_HFNAME; -function decodeUnreserved(str) { - var decStr = pctDecChars(str); - return !decStr.match(UNRESERVED) ? str : decStr; -} -var handler$4 = { - scheme: "mailto", - parse: function parse$$1(components, options) { - var mailtoComponents = components; - var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : []; - mailtoComponents.path = undefined; - if (mailtoComponents.query) { - var unknownHeaders = false; - var headers = {}; - var hfields = mailtoComponents.query.split("&"); - for (var x = 0, xl = hfields.length; x < xl; ++x) { - var hfield = hfields[x].split("="); - switch (hfield[0]) { - case "to": - var toAddrs = hfield[1].split(","); - for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) { - to.push(toAddrs[_x]); - } - break; - case "subject": - mailtoComponents.subject = unescapeComponent(hfield[1], options); - break; - case "body": - mailtoComponents.body = unescapeComponent(hfield[1], options); - break; - default: - unknownHeaders = true; - headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options); - break; - } - } - if (unknownHeaders) mailtoComponents.headers = headers; - } - mailtoComponents.query = undefined; - for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) { - var addr = to[_x2].split("@"); - addr[0] = unescapeComponent(addr[0]); - if (!options.unicodeSupport) { - //convert Unicode IDN -> ASCII IDN - try { - addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase()); - } catch (e) { - mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e; - } - } else { - addr[1] = unescapeComponent(addr[1], options).toLowerCase(); - } - to[_x2] = addr.join("@"); - } - return mailtoComponents; - }, - serialize: function serialize$$1(mailtoComponents, options) { - var components = mailtoComponents; - var to = toArray(mailtoComponents.to); - if (to) { - for (var x = 0, xl = to.length; x < xl; ++x) { - var toAddr = String(to[x]); - var atIdx = toAddr.lastIndexOf("@"); - var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar); - var domain = toAddr.slice(atIdx + 1); - //convert IDN via punycode - try { - domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain); - } catch (e) { - components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e; - } - to[x] = localPart + "@" + domain; - } - components.path = to.join(","); - } - var headers = mailtoComponents.headers = mailtoComponents.headers || {}; - if (mailtoComponents.subject) headers["subject"] = mailtoComponents.subject; - if (mailtoComponents.body) headers["body"] = mailtoComponents.body; - var fields = []; - for (var name in headers) { - if (headers[name] !== O[name]) { - fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar)); - } - } - if (fields.length) { - components.query = fields.join("&"); - } - return components; - } -}; - -var URN_PARSE = /^([^\:]+)\:(.*)/; -//RFC 2141 -var handler$5 = { - scheme: "urn", - parse: function parse$$1(components, options) { - var matches = components.path && components.path.match(URN_PARSE); - var urnComponents = components; - if (matches) { - var scheme = options.scheme || urnComponents.scheme || "urn"; - var nid = matches[1].toLowerCase(); - var nss = matches[2]; - var urnScheme = scheme + ":" + (options.nid || nid); - var schemeHandler = SCHEMES[urnScheme]; - urnComponents.nid = nid; - urnComponents.nss = nss; - urnComponents.path = undefined; - if (schemeHandler) { - urnComponents = schemeHandler.parse(urnComponents, options); - } - } else { - urnComponents.error = urnComponents.error || "URN can not be parsed."; - } - return urnComponents; - }, - serialize: function serialize$$1(urnComponents, options) { - var scheme = options.scheme || urnComponents.scheme || "urn"; - var nid = urnComponents.nid; - var urnScheme = scheme + ":" + (options.nid || nid); - var schemeHandler = SCHEMES[urnScheme]; - if (schemeHandler) { - urnComponents = schemeHandler.serialize(urnComponents, options); - } - var uriComponents = urnComponents; - var nss = urnComponents.nss; - uriComponents.path = (nid || options.nid) + ":" + nss; - return uriComponents; - } -}; - -var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/; -//RFC 4122 -var handler$6 = { - scheme: "urn:uuid", - parse: function parse(urnComponents, options) { - var uuidComponents = urnComponents; - uuidComponents.uuid = uuidComponents.nss; - uuidComponents.nss = undefined; - if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) { - uuidComponents.error = uuidComponents.error || "UUID is not valid."; - } - return uuidComponents; - }, - serialize: function serialize(uuidComponents, options) { - var urnComponents = uuidComponents; - //normalize UUID - urnComponents.nss = (uuidComponents.uuid || "").toLowerCase(); - return urnComponents; - } -}; - -SCHEMES[handler.scheme] = handler; -SCHEMES[handler$1.scheme] = handler$1; -SCHEMES[handler$2.scheme] = handler$2; -SCHEMES[handler$3.scheme] = handler$3; -SCHEMES[handler$4.scheme] = handler$4; -SCHEMES[handler$5.scheme] = handler$5; -SCHEMES[handler$6.scheme] = handler$6; - -exports.SCHEMES = SCHEMES; -exports.pctEncChar = pctEncChar; -exports.pctDecChars = pctDecChars; -exports.parse = parse; -exports.removeDotSegments = removeDotSegments; -exports.serialize = serialize; -exports.resolveComponents = resolveComponents; -exports.resolve = resolve; -exports.normalize = normalize; -exports.equal = equal; -exports.escapeComponent = escapeComponent; -exports.unescapeComponent = unescapeComponent; - -Object.defineProperty(exports, '__esModule', { value: true }); - -}))); - - -},{}],"ajv":[function(require,module,exports){ -'use strict'; - -var compileSchema = require('./compile') - , resolve = require('./compile/resolve') - , Cache = require('./cache') - , SchemaObject = require('./compile/schema_obj') - , stableStringify = require('fast-json-stable-stringify') - , formats = require('./compile/formats') - , rules = require('./compile/rules') - , $dataMetaSchema = require('./data') - , util = require('./compile/util'); - -module.exports = Ajv; - -Ajv.prototype.validate = validate; -Ajv.prototype.compile = compile; -Ajv.prototype.addSchema = addSchema; -Ajv.prototype.addMetaSchema = addMetaSchema; -Ajv.prototype.validateSchema = validateSchema; -Ajv.prototype.getSchema = getSchema; -Ajv.prototype.removeSchema = removeSchema; -Ajv.prototype.addFormat = addFormat; -Ajv.prototype.errorsText = errorsText; - -Ajv.prototype._addSchema = _addSchema; -Ajv.prototype._compile = _compile; - -Ajv.prototype.compileAsync = require('./compile/async'); -var customKeyword = require('./keyword'); -Ajv.prototype.addKeyword = customKeyword.add; -Ajv.prototype.getKeyword = customKeyword.get; -Ajv.prototype.removeKeyword = customKeyword.remove; -Ajv.prototype.validateKeyword = customKeyword.validate; - -var errorClasses = require('./compile/error_classes'); -Ajv.ValidationError = errorClasses.Validation; -Ajv.MissingRefError = errorClasses.MissingRef; -Ajv.$dataMetaSchema = $dataMetaSchema; - -var META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema'; - -var META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ]; -var META_SUPPORT_DATA = ['/properties']; - -/** - * Creates validator instance. - * Usage: `Ajv(opts)` - * @param {Object} opts optional options - * @return {Object} ajv instance - */ -function Ajv(opts) { - if (!(this instanceof Ajv)) return new Ajv(opts); - opts = this._opts = util.copy(opts) || {}; - setLogger(this); - this._schemas = {}; - this._refs = {}; - this._fragments = {}; - this._formats = formats(opts.format); - - this._cache = opts.cache || new Cache; - this._loadingSchemas = {}; - this._compilations = []; - this.RULES = rules(); - this._getId = chooseGetId(opts); - - opts.loopRequired = opts.loopRequired || Infinity; - if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true; - if (opts.serialize === undefined) opts.serialize = stableStringify; - this._metaOpts = getMetaSchemaOptions(this); - - if (opts.formats) addInitialFormats(this); - if (opts.keywords) addInitialKeywords(this); - addDefaultMetaSchema(this); - if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta); - if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}}); - addInitialSchemas(this); -} - - - -/** - * Validate data using schema - * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize. - * @this Ajv - * @param {String|Object} schemaKeyRef key, ref or schema object - * @param {Any} data to be validated - * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). - */ -function validate(schemaKeyRef, data) { - var v; - if (typeof schemaKeyRef == 'string') { - v = this.getSchema(schemaKeyRef); - if (!v) throw new Error('no schema with key or ref "' + schemaKeyRef + '"'); - } else { - var schemaObj = this._addSchema(schemaKeyRef); - v = schemaObj.validate || this._compile(schemaObj); - } - - var valid = v(data); - if (v.$async !== true) this.errors = v.errors; - return valid; -} - - -/** - * Create validating function for passed schema. - * @this Ajv - * @param {Object} schema schema object - * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords. - * @return {Function} validating function - */ -function compile(schema, _meta) { - var schemaObj = this._addSchema(schema, undefined, _meta); - return schemaObj.validate || this._compile(schemaObj); -} - - -/** - * Adds schema to the instance. - * @this Ajv - * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. - * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. - * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead. - * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. - * @return {Ajv} this for method chaining - */ -function addSchema(schema, key, _skipValidation, _meta) { - if (Array.isArray(schema)){ - for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used. - * @param {Object} options optional options with properties `separator` and `dataVar`. - * @return {String} human readable string with all errors descriptions - */ -function errorsText(errors, options) { - errors = errors || this.errors; - if (!errors) return 'No errors'; - options = options || {}; - var separator = options.separator === undefined ? ', ' : options.separator; - var dataVar = options.dataVar === undefined ? 'data' : options.dataVar; - - var text = ''; - for (var i=0; i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,u=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,p=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,f=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function m(e){return a.copy(m[e="full"==e?"full":"fast"])}function v(e){var r=e.match(o);if(!r)return!1;var t,a=+r[2],s=+r[3];return 1<=a&&a<=12&&1<=s&&s<=(2!=a||((t=+r[1])%4!=0||t%100==0&&t%400!=0)?i[a]:29)}function y(e,r){var t=e.match(n);if(!t)return!1;var a=t[1],s=t[2],o=t[3];return(a<=23&&s<=59&&o<=59||23==a&&59==s&&60==o)&&(!r||t[5])}(r.exports=m).fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":p,"relative-json-pointer":f},m.full={date:v,time:y,"date-time":function(e){var r=e.split(g);return 2==r.length&&v(r[0])&&y(r[1],!0)},uri:function(e){return P.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":c,url:u,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:s,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":p,"relative-json-pointer":f};var g=/t|\s/i;var P=/\/|:/;var E=/[^\\]\\Z/;function w(e){if(E.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},{"./util":10}],5:[function(e,r,t){"use strict";var R=e("./resolve"),$=e("./util"),j=e("./error_classes"),D=e("fast-json-stable-stringify"),O=e("../dotjs/validate"),I=$.ucs2length,A=e("fast-deep-equal"),k=j.Validation;function C(e,c,u,r){var d=this,p=this._opts,h=[void 0],f={},l=[],t={},m=[],a={},v=[],s=function(e,r,t){var a=L.call(this,e,r,t);return 0<=a?{index:a,compiling:!0}:{index:a=this._compilations.length,compiling:!(this._compilations[a]={schema:e,root:r,baseId:t})}}.call(this,e,c=c||{schema:e,refVal:h,refs:f},r),o=this._compilations[s.index];if(s.compiling)return o.callValidate=P;var y=this._formats,g=this.RULES;try{var i=E(e,c,u,r);o.validate=i;var n=o.callValidate;return n&&(n.schema=i.schema,n.errors=null,n.refs=i.refs,n.refVal=i.refVal,n.root=i.root,n.$async=i.$async,p.sourceCode&&(n.source=i.source)),i}finally{(function(e,r,t){var a=L.call(this,e,r,t);0<=a&&this._compilations.splice(a,1)}).call(this,e,c,r)}function P(){var e=o.validate,r=e.apply(this,arguments);return P.errors=e.errors,r}function E(e,r,t,a){var s=!r||r&&r.schema==e;if(r.schema!=c.schema)return C.call(d,e,r,t,a);var o=!0===e.$async,i=O({isTop:!0,schema:e,isRoot:s,baseId:a,root:r,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:j.MissingRef,RULES:g,validate:O,util:$,resolve:R,resolveRef:w,usePattern:_,useDefault:F,useCustomRule:x,opts:p,formats:y,logger:d.logger,self:d}),i=Q(h,z)+Q(l,N)+Q(m,q)+Q(v,T)+i;p.processCode&&(i=p.processCode(i,e));try{var n=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",i)(d,g,y,c,h,m,v,A,I,k);h[0]=n}catch(e){throw d.logger.error("Error compiling schema, function code:",i),e}return n.schema=e,n.errors=null,n.refs=f,n.refVal=h,n.root=s?n:r,o&&(n.$async=!0),!0===p.sourceCode&&(n.source={code:i,patterns:l,defaults:m}),n}function w(e,r,t){r=R.url(e,r);var a,s,o=f[r];if(void 0!==o)return S(a=h[o],s="refVal["+o+"]");if(!t&&c.refs){var i=c.refs[r];if(void 0!==i)return S(a=c.refVal[i],s=b(r,a))}s=b(r);var n,l=R.call(d,E,c,r);if(void 0!==l||(n=u&&u[r])&&(l=R.inlineRef(n,p.inlineRefs)?n:C.call(d,n,c,u,e)),void 0!==l)return S(h[f[r]]=l,s);delete f[r]}function b(e,r){var t=h.length;return h[t]=r,"refVal"+(f[e]=t)}function S(e,r){return"object"==typeof e||"boolean"==typeof e?{code:r,schema:e,inline:!0}:{code:r,$async:e&&!!e.$async}}function _(e){var r=t[e];return void 0===r&&(r=t[e]=l.length,l[r]=e),"pattern"+r}function F(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return $.toQuotedString(e);case"object":if(null===e)return"null";var r=D(e),t=a[r];return void 0===t&&(t=a[r]=m.length,m[t]=e),"default"+t}}function x(e,r,t,a){if(!1!==d._opts.validateSchema){var s=e.definition.dependencies;if(s&&!s.every(function(e){return Object.prototype.hasOwnProperty.call(t,e)}))throw new Error("parent schema must have all required keywords: "+s.join(","));var o=e.definition.validateSchema;if(o)if(!o(r)){var i="keyword schema is invalid: "+d.errorsText(o.errors);if("log"!=d._opts.validateSchema)throw new Error(i);d.logger.error(i)}}var n,l=e.definition.compile,c=e.definition.inline,u=e.definition.macro;if(l)n=l.call(d,r,t,a);else if(u)n=u.call(d,r,t,a),!1!==p.validateSchema&&d.validateSchema(n,!0);else if(c)n=c.call(d,a,e.keyword,r,t);else if(!(n=e.definition.validate))return;if(void 0===n)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=v.length;return{code:"customRule"+h,validate:v[h]=n}}}function L(e,r,t){for(var a=0;a",_=P?">":"<",F=void 0;if(!y&&"number"!=typeof d&&void 0!==d)throw new Error(r+" must be number");if(!b&&void 0!==w&&"number"!=typeof w&&"boolean"!=typeof w)throw new Error(E+" must be number or boolean");b?(o="exclIsNumber"+u,i="' + "+(n="op"+u)+" + '",c+=" var schemaExcl"+u+" = "+(t=e.util.getData(w.$data,h,e.dataPathArr))+"; ",F=E,(l=l||[]).push(c+=" var "+(a="exclusive"+u)+"; var "+(s="exclType"+u)+" = typeof "+(t="schemaExcl"+u)+"; if ("+s+" != 'boolean' && "+s+" != 'undefined' && "+s+" != 'number') { "),c="",!1!==e.createErrors?(c+=" { keyword: '"+(F||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: {} ",!1!==e.opts.messages&&(c+=" , message: '"+E+" should be boolean' "),e.opts.verbose&&(c+=" , schema: validate.schema"+p+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+v+" "),c+=" } "):c+=" {} ",x=c,c=l.pop(),c+=!e.compositeRule&&m?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c+=" } else if ( ",y&&(c+=" ("+g+" !== undefined && typeof "+g+" != 'number') || "),c+=" "+s+" == 'number' ? ( ("+a+" = "+g+" === undefined || "+t+" "+S+"= "+g+") ? "+v+" "+_+"= "+t+" : "+v+" "+_+" "+g+" ) : ( ("+a+" = "+t+" === true) ? "+v+" "+_+"= "+g+" : "+v+" "+_+" "+g+" ) || "+v+" !== "+v+") { var op"+u+" = "+a+" ? '"+S+"' : '"+S+"='; ",void 0===d&&(f=e.errSchemaPath+"/"+(F=E),g=t,y=b)):(i=S,(o="number"==typeof w)&&y?(n="'"+i+"'",c+=" if ( ",y&&(c+=" ("+g+" !== undefined && typeof "+g+" != 'number') || "),c+=" ( "+g+" === undefined || "+w+" "+S+"= "+g+" ? "+v+" "+_+"= "+w+" : "+v+" "+_+" "+g+" ) || "+v+" !== "+v+") { "):(o&&void 0===d?(a=!0,f=e.errSchemaPath+"/"+(F=E),g=w,_+="="):(o&&(g=Math[P?"min":"max"](w,d)),w===(!o||g)?(a=!0,f=e.errSchemaPath+"/"+(F=E),_+="="):(a=!1,i+="=")),n="'"+i+"'",c+=" if ( ",y&&(c+=" ("+g+" !== undefined && typeof "+g+" != 'number') || "),c+=" "+v+" "+_+" "+g+" || "+v+" !== "+v+") { ")),F=F||r,(l=l||[]).push(c),c="",!1!==e.createErrors?(c+=" { keyword: '"+(F||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { comparison: "+n+", limit: "+g+", exclusive: "+a+" } ",!1!==e.opts.messages&&(c+=" , message: 'should be "+i+" ",c+=y?"' + "+g:g+"'"),e.opts.verbose&&(c+=" , schema: ",c+=y?"validate.schema"+p:""+d,c+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+v+" "),c+=" } "):c+=" {} ";var x=c;return c=l.pop(),c+=!e.compositeRule&&m?e.async?" throw new ValidationError(["+x+"]); ":" validate.errors = ["+x+"]; return false; ":" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c+=" } ",m&&(c+=" else { "),c}},{}],14:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u=e.opts.$data&&o&&o.$data,h=u?(t+=" var schema"+a+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ","schema"+a):o;if(!u&&"number"!=typeof o)throw new Error(r+" must be number");t+="if ( ",u&&(t+=" ("+h+" !== undefined && typeof "+h+" != 'number') || ");var d=r,p=p||[];p.push(t+=" "+c+".length "+("maxItems"==r?">":"<")+" "+h+") { "),t="",!1!==e.createErrors?(t+=" { keyword: '"+(d||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { limit: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should NOT have ",t+="maxItems"==r?"more":"fewer",t+=" than ",t+=u?"' + "+h+" + '":""+o,t+=" items' "),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var f=t,t=p.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+f+"]); ":" validate.errors = ["+f+"]; return false; ":" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],15:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u=e.opts.$data&&o&&o.$data,h=u?(t+=" var schema"+a+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ","schema"+a):o;if(!u&&"number"!=typeof o)throw new Error(r+" must be number");t+="if ( ",u&&(t+=" ("+h+" !== undefined && typeof "+h+" != 'number') || "),t+=!1===e.opts.unicode?" "+c+".length ":" ucs2length("+c+") ";var d=r,p=p||[];p.push(t+=" "+("maxLength"==r?">":"<")+" "+h+") { "),t="",!1!==e.createErrors?(t+=" { keyword: '"+(d||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { limit: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should NOT be ",t+="maxLength"==r?"longer":"shorter",t+=" than ",t+=u?"' + "+h+" + '":""+o,t+=" characters' "),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var f=t,t=p.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+f+"]); ":" validate.errors = ["+f+"]; return false; ":" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],16:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u=e.opts.$data&&o&&o.$data,h=u?(t+=" var schema"+a+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ","schema"+a):o;if(!u&&"number"!=typeof o)throw new Error(r+" must be number");t+="if ( ",u&&(t+=" ("+h+" !== undefined && typeof "+h+" != 'number') || ");var d=r,p=p||[];p.push(t+=" Object.keys("+c+").length "+("maxProperties"==r?">":"<")+" "+h+") { "),t="",!1!==e.createErrors?(t+=" { keyword: '"+(d||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { limit: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should NOT have ",t+="maxProperties"==r?"more":"fewer",t+=" than ",t+=u?"' + "+h+" + '":""+o,t+=" properties' "),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var f=t,t=p.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+f+"]); ":" validate.errors = ["+f+"]; return false; ":" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],17:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.schema[r],s=e.schemaPath+e.util.getProperty(r),o=e.errSchemaPath+"/"+r,i=!e.opts.allErrors,n=e.util.copy(e),l="";n.level++;var c="valid"+n.level,u=n.baseId,h=!0,d=a;if(d)for(var p,f=-1,m=d.length-1;f "+_+") { ",x=c+"["+_+"]",d.schema=$,d.schemaPath=i+"["+_+"]",d.errSchemaPath=n+"/"+_,d.errorPath=e.util.getPathExpr(e.errorPath,_,e.opts.jsonPointers,!0),d.dataPathArr[v]=_,R=e.validate(d),d.baseId=g,e.util.varOccurences(R,y)<2?t+=" "+e.util.varReplace(R,y,x)+" ":t+=" var "+y+" = "+x+"; "+R+" ",t+=" } ",l&&(t+=" if ("+f+") { ",p+="}"))}"object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&0 "+o.length+") { for (var "+m+" = "+o.length+"; "+m+" < "+c+".length; "+m+"++) { ",d.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0),x=c+"["+m+"]",d.dataPathArr[v]=m,R=e.validate(d),d.baseId=g,e.util.varOccurences(R,y)<2?t+=" "+e.util.varReplace(R,y,x)+" ":t+=" var "+y+" = "+x+"; "+R+" ",l&&(t+=" if (!"+f+") break; "),t+=" } } ",l&&(t+=" if ("+f+") { ",p+="}"))}else{(e.opts.strictKeywords?"object"==typeof o&&0 1e-"+e.opts.multipleOfPrecision+" ":" division"+a+" !== parseInt(division"+a+") ",t+=" ) ",u&&(t+=" ) ");var d=d||[];d.push(t+=" ) { "),t="",!1!==e.createErrors?(t+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(n)+" , params: { multipleOf: "+h+" } ",!1!==e.opts.messages&&(t+=" , message: 'should be multiple of ",t+=u?"' + "+h:h+"'"),e.opts.verbose&&(t+=" , schema: ",t+=u?"validate.schema"+i:""+o,t+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),t+=" } "):t+=" {} ";var p=t,t=d.pop();return t+=!e.compositeRule&&l?e.async?" throw new ValidationError(["+p+"]); ":" validate.errors = ["+p+"]; return false; ":" var err = "+p+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",t+="} ",l&&(t+=" else { "),t}},{}],30:[function(e,r,t){"use strict";r.exports=function(e,r){var t=" ",a=e.level,s=e.dataLevel,o=e.schema[r],i=e.schemaPath+e.util.getProperty(r),n=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,c="data"+(s||""),u="errs__"+a,h=e.util.copy(e);h.level++;var d,p,f,m,v="valid"+h.level;return(e.opts.strictKeywords?"object"==typeof o&&0 1) { ",t=e.schema.items&&e.schema.items.type,a=Array.isArray(t),!t||"object"==t||"array"==t||a&&(0<=t.indexOf("object")||0<=t.indexOf("array"))?i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+p+"[i], "+p+"[j])) { "+f+" = false; break outer; } } } ":(i+=" var itemIndices = {}, item; for (;i--;) { var item = "+p+"[i]; ",i+=" if ("+e.util["checkDataType"+(a?"s":"")](t,"item",e.opts.strictNumbers,!0)+") continue; ",a&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+f+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "),i+=" } ",m&&(i+=" } "),(s=s||[]).push(i+=" if (!"+f+") { "),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(h)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+u:""+c,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ",o=i,i=s.pop(),i+=!e.compositeRule&&d?e.async?" throw new ValidationError(["+o+"]); ":" validate.errors = ["+o+"]; return false; ":" var err = "+o+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",d&&(i+=" else { ")):d&&(i+=" if (true) { "),i}},{}],38:[function(e,r,t){"use strict";r.exports=function(a,e){var r="",t=!0===a.schema.$async,s=a.util.schemaHasRulesExcept(a.schema,a.RULES.all,"$ref"),o=a.self._getId(a.schema);if(a.opts.strictKeywords){var i=a.util.schemaUnknownRules(a.schema,a.RULES.keywords);if(i){var n="unknown keyword: "+i;if("log"!==a.opts.strictKeywords)throw new Error(n);a.logger.warn(n)}}if(a.isTop&&(r+=" var validate = ",t&&(a.async=!0,r+="async "),r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(a.opts.sourceCode||a.opts.processCode)&&(r+=" /*# sourceURL="+o+" */ ")),"boolean"==typeof a.schema||!s&&!a.schema.$ref){var l=a.level,c=a.dataLevel,u=a.schema[e="false schema"],h=a.schemaPath+a.util.getProperty(e),d=a.errSchemaPath+"/"+e,p=!a.opts.allErrors,f="data"+(c||""),m="valid"+l;return!1===a.schema?(a.isTop?p=!0:r+=" var "+m+" = false; ",(U=U||[]).push(r),r="",!1!==a.createErrors?(r+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+a.errorPath+" , schemaPath: "+a.util.toQuotedString(d)+" , params: {} ",!1!==a.opts.messages&&(r+=" , message: 'boolean schema is false' "),a.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+a.schemaPath+" , data: "+f+" "),r+=" } "):r+=" {} ",D=r,r=U.pop(),r+=!a.compositeRule&&p?a.async?" throw new ValidationError(["+D+"]); ":" validate.errors = ["+D+"]; return false; ":" var err = "+D+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "):r+=a.isTop?t?" return data; ":" validate.errors = null; return true; ":" var "+m+" = true; ",a.isTop&&(r+=" }; return validate; "),r}if(a.isTop){var v=a.isTop,l=a.level=0,c=a.dataLevel=0,f="data";if(a.rootId=a.resolve.fullPath(a.self._getId(a.root.schema)),a.baseId=a.baseId||a.rootId,delete a.isTop,a.dataPathArr=[""],void 0!==a.schema.default&&a.opts.useDefaults&&a.opts.strictDefaults){var y="default is ignored in the schema root";if("log"!==a.opts.strictDefaults)throw new Error(y);a.logger.warn(y)}r+=" var vErrors = null; ",r+=" var errors = 0; ",r+=" if (rootData === undefined) rootData = data; "}else{l=a.level,f="data"+((c=a.dataLevel)||"");if(o&&(a.baseId=a.resolve.url(a.baseId,o)),t&&!a.async)throw new Error("async schema in sync schema");r+=" var errs_"+l+" = errors;"}var g,m="valid"+l,p=!a.opts.allErrors,P="",E="",w=a.schema.type,b=Array.isArray(w);if(w&&a.opts.nullable&&!0===a.schema.nullable&&(b?-1==w.indexOf("null")&&(w=w.concat("null")):"null"!=w&&(w=[w,"null"],b=!0)),b&&1==w.length&&(w=w[0],b=!1),a.schema.$ref&&s){if("fail"==a.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+a.errSchemaPath+'" (see option extendRefs)');!0!==a.opts.extendRefs&&(s=!1,a.logger.warn('$ref: keywords ignored in schema at path "'+a.errSchemaPath+'"'))}if(a.schema.$comment&&a.opts.$comment&&(r+=" "+a.RULES.all.$comment.code(a,"$comment")),w){a.opts.coerceTypes&&(g=a.util.coerceToTypes(a.opts.coerceTypes,w));var S=a.RULES.types[w];if(g||b||!0===S||S&&!Z(S)){h=a.schemaPath+".type",d=a.errSchemaPath+"/type",h=a.schemaPath+".type",d=a.errSchemaPath+"/type";if(r+=" if ("+a.util[b?"checkDataTypes":"checkDataType"](w,f,a.opts.strictNumbers,!0)+") { ",g){var _="dataType"+l,F="coerced"+l;r+=" var "+_+" = typeof "+f+"; var "+F+" = undefined; ","array"==a.opts.coerceTypes&&(r+=" if ("+_+" == 'object' && Array.isArray("+f+") && "+f+".length == 1) { "+f+" = "+f+"[0]; "+_+" = typeof "+f+"; if ("+a.util.checkDataType(a.schema.type,f,a.opts.strictNumbers)+") "+F+" = "+f+"; } "),r+=" if ("+F+" !== undefined) ; ";var x=g;if(x)for(var R,$=-1,j=x.length-1;$= 0x80 (not a basic code point)","invalid-input":"Invalid input"},k=Math.floor,C=String.fromCharCode;function L(e){throw new RangeError(i[e])}function n(e,r){var t=e.split("@"),a="";return 1>1,e+=k(e/r);455k((A-a)/h))&&L("overflow"),a+=p*h;var f=d<=o?1:o+26<=d?26:d-o;if(pk(A/m)&&L("overflow"),h*=m}var v=r.length+1,o=z(a-u,v,0==u);k(a/v)>A-s&&L("overflow"),s+=k(a/v),a%=v,r.splice(a++,0,s)}return String.fromCodePoint.apply(String,r)}function c(e){var r=[],t=(e=N(e)).length,a=128,s=0,o=72,i=!0,n=!1,l=void 0;try{for(var c,u=e[Symbol.iterator]();!(i=(c=u.next()).done);i=!0){var h=c.value;h<128&&r.push(C(h))}}catch(e){n=!0,l=e}finally{try{!i&&u.return&&u.return()}finally{if(n)throw l}}var d=r.length,p=d;for(d&&r.push("-");pk((A-s)/w)&&L("overflow"),s+=(f-a)*w,a=f;var b=!0,S=!1,_=void 0;try{for(var F,x=e[Symbol.iterator]();!(b=(F=x.next()).done);b=!0){var R=F.value;if(RA&&L("overflow"),R==a){for(var $=s,j=36;;j+=36){var D=j<=o?1:o+26<=j?26:j-o;if($>6|192).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase():"%"+(r>>12|224).toString(16).toUpperCase()+"%"+(r>>6&63|128).toString(16).toUpperCase()+"%"+(63&r|128).toString(16).toUpperCase()}function p(e){for(var r="",t=0,a=e.length;tA-Z\\x5E-\\x7E]",'[\\"\\\\]')),Y=new RegExp(K,"g"),W=new RegExp("(?:(?:%[EFef][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f])|(?:%[89A-Fa-f][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f])|(?:%[0-9A-Fa-f][0-9A-Fa-f]))","g"),X=new RegExp(J("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',G),"g"),ee=new RegExp(J("[^]",K,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),re=ee;function te(e){var r=p(e);return r.match(Y)?r:e}var ae={scheme:"mailto",parse:function(e,r){var t=e,a=t.to=t.path?t.path.split(","):[];if(t.path=void 0,t.query){for(var s=!1,o={},i=t.query.split("&"),n=0,l=i.length;n); - - message: string; - errors: Array; - ajv: true; - validation: true; - } - - class MissingRefError extends Error { - constructor(baseId: string, ref: string, message?: string); - static message: (baseId: string, ref: string) => string; - - message: string; - missingRef: string; - missingSchema: string; - } -} - -declare namespace ajv { - type ValidationError = AjvErrors.ValidationError; - - type MissingRefError = AjvErrors.MissingRefError; - - interface Ajv { - /** - * Validate data using schema - * Schema will be compiled and cached (using serialized JSON as key, [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize by default). - * @param {string|object|Boolean} schemaKeyRef key, ref or schema object - * @param {Any} data to be validated - * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). - */ - validate(schemaKeyRef: object | string | boolean, data: any): boolean | PromiseLike; - /** - * Create validating function for passed schema. - * @param {object|Boolean} schema schema object - * @return {Function} validating function - */ - compile(schema: object | boolean): ValidateFunction; - /** - * Creates validating function for passed schema with asynchronous loading of missing schemas. - * `loadSchema` option should be a function that accepts schema uri and node-style callback. - * @this Ajv - * @param {object|Boolean} schema schema object - * @param {Boolean} meta optional true to compile meta-schema; this parameter can be skipped - * @param {Function} callback optional node-style callback, it is always called with 2 parameters: error (or null) and validating function. - * @return {PromiseLike} validating function - */ - compileAsync(schema: object | boolean, meta?: Boolean, callback?: (err: Error, validate: ValidateFunction) => any): PromiseLike; - /** - * Adds schema to the instance. - * @param {object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. - * @param {string} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. - * @return {Ajv} this for method chaining - */ - addSchema(schema: Array | object, key?: string): Ajv; - /** - * Add schema that will be used to validate other schemas - * options in META_IGNORE_OPTIONS are alway set to false - * @param {object} schema schema object - * @param {string} key optional schema key - * @return {Ajv} this for method chaining - */ - addMetaSchema(schema: object, key?: string): Ajv; - /** - * Validate schema - * @param {object|Boolean} schema schema to validate - * @return {Boolean} true if schema is valid - */ - validateSchema(schema: object | boolean): boolean; - /** - * Get compiled schema from the instance by `key` or `ref`. - * @param {string} keyRef `key` that was passed to `addSchema` or full schema reference (`schema.id` or resolved id). - * @return {Function} schema validating function (with property `schema`). Returns undefined if keyRef can't be resolved to an existing schema. - */ - getSchema(keyRef: string): ValidateFunction | undefined; - /** - * Remove cached schema(s). - * If no parameter is passed all schemas but meta-schemas are removed. - * If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed. - * Even if schema is referenced by other schemas it still can be removed as other schemas have local references. - * @param {string|object|RegExp|Boolean} schemaKeyRef key, ref, pattern to match key/ref or schema object - * @return {Ajv} this for method chaining - */ - removeSchema(schemaKeyRef?: object | string | RegExp | boolean): Ajv; - /** - * Add custom format - * @param {string} name format name - * @param {string|RegExp|Function} format string is converted to RegExp; function should return boolean (true when valid) - * @return {Ajv} this for method chaining - */ - addFormat(name: string, format: FormatValidator | FormatDefinition): Ajv; - /** - * Define custom keyword - * @this Ajv - * @param {string} keyword custom keyword, should be a valid identifier, should be different from all standard, custom and macro keywords. - * @param {object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. - * @return {Ajv} this for method chaining - */ - addKeyword(keyword: string, definition: KeywordDefinition): Ajv; - /** - * Get keyword definition - * @this Ajv - * @param {string} keyword pre-defined or custom keyword. - * @return {object|Boolean} custom keyword definition, `true` if it is a predefined keyword, `false` otherwise. - */ - getKeyword(keyword: string): object | boolean; - /** - * Remove keyword - * @this Ajv - * @param {string} keyword pre-defined or custom keyword. - * @return {Ajv} this for method chaining - */ - removeKeyword(keyword: string): Ajv; - /** - * Validate keyword - * @this Ajv - * @param {object} definition keyword definition object - * @param {boolean} throwError true to throw exception if definition is invalid - * @return {boolean} validation result - */ - validateKeyword(definition: KeywordDefinition, throwError: boolean): boolean; - /** - * Convert array of error message objects to string - * @param {Array} errors optional array of validation errors, if not passed errors from the instance are used. - * @param {object} options optional options with properties `separator` and `dataVar`. - * @return {string} human readable string with all errors descriptions - */ - errorsText(errors?: Array | null, options?: ErrorsTextOptions): string; - errors?: Array | null; - _opts: Options; - } - - interface CustomLogger { - log(...args: any[]): any; - warn(...args: any[]): any; - error(...args: any[]): any; - } - - interface ValidateFunction { - ( - data: any, - dataPath?: string, - parentData?: object | Array, - parentDataProperty?: string | number, - rootData?: object | Array - ): boolean | PromiseLike; - schema?: object | boolean; - errors?: null | Array; - refs?: object; - refVal?: Array; - root?: ValidateFunction | object; - $async?: true; - source?: object; - } - - interface Options { - $data?: boolean; - allErrors?: boolean; - verbose?: boolean; - jsonPointers?: boolean; - uniqueItems?: boolean; - unicode?: boolean; - format?: false | string; - formats?: object; - keywords?: object; - unknownFormats?: true | string[] | 'ignore'; - schemas?: Array | object; - schemaId?: '$id' | 'id' | 'auto'; - missingRefs?: true | 'ignore' | 'fail'; - extendRefs?: true | 'ignore' | 'fail'; - loadSchema?: (uri: string, cb?: (err: Error, schema: object) => void) => PromiseLike; - removeAdditional?: boolean | 'all' | 'failing'; - useDefaults?: boolean | 'empty' | 'shared'; - coerceTypes?: boolean | 'array'; - strictDefaults?: boolean | 'log'; - strictKeywords?: boolean | 'log'; - strictNumbers?: boolean; - async?: boolean | string; - transpile?: string | ((code: string) => string); - meta?: boolean | object; - validateSchema?: boolean | 'log'; - addUsedSchema?: boolean; - inlineRefs?: boolean | number; - passContext?: boolean; - loopRequired?: number; - ownProperties?: boolean; - multipleOfPrecision?: boolean | number; - errorDataPath?: string, - messages?: boolean; - sourceCode?: boolean; - processCode?: (code: string, schema: object) => string; - cache?: object; - logger?: CustomLogger | false; - nullable?: boolean; - serialize?: ((schema: object | boolean) => any) | false; - } - - type FormatValidator = string | RegExp | ((data: string) => boolean | PromiseLike); - type NumberFormatValidator = ((data: number) => boolean | PromiseLike); - - interface NumberFormatDefinition { - type: "number", - validate: NumberFormatValidator; - compare?: (data1: number, data2: number) => number; - async?: boolean; - } - - interface StringFormatDefinition { - type?: "string", - validate: FormatValidator; - compare?: (data1: string, data2: string) => number; - async?: boolean; - } - - type FormatDefinition = NumberFormatDefinition | StringFormatDefinition; - - interface KeywordDefinition { - type?: string | Array; - async?: boolean; - $data?: boolean; - errors?: boolean | string; - metaSchema?: object; - // schema: false makes validate not to expect schema (ValidateFunction) - schema?: boolean; - statements?: boolean; - dependencies?: Array; - modifying?: boolean; - valid?: boolean; - // one and only one of the following properties should be present - validate?: SchemaValidateFunction | ValidateFunction; - compile?: (schema: any, parentSchema: object, it: CompilationContext) => ValidateFunction; - macro?: (schema: any, parentSchema: object, it: CompilationContext) => object | boolean; - inline?: (it: CompilationContext, keyword: string, schema: any, parentSchema: object) => string; - } - - interface CompilationContext { - level: number; - dataLevel: number; - dataPathArr: string[]; - schema: any; - schemaPath: string; - baseId: string; - async: boolean; - opts: Options; - formats: { - [index: string]: FormatDefinition | undefined; - }; - keywords: { - [index: string]: KeywordDefinition | undefined; - }; - compositeRule: boolean; - validate: (schema: object) => boolean; - util: { - copy(obj: any, target?: any): any; - toHash(source: string[]): { [index: string]: true | undefined }; - equal(obj: any, target: any): boolean; - getProperty(str: string): string; - schemaHasRules(schema: object, rules: any): string; - escapeQuotes(str: string): string; - toQuotedString(str: string): string; - getData(jsonPointer: string, dataLevel: number, paths: string[]): string; - escapeJsonPointer(str: string): string; - unescapeJsonPointer(str: string): string; - escapeFragment(str: string): string; - unescapeFragment(str: string): string; - }; - self: Ajv; - } - - interface SchemaValidateFunction { - ( - schema: any, - data: any, - parentSchema?: object, - dataPath?: string, - parentData?: object | Array, - parentDataProperty?: string | number, - rootData?: object | Array - ): boolean | PromiseLike; - errors?: Array; - } - - interface ErrorsTextOptions { - separator?: string; - dataVar?: string; - } - - interface ErrorObject { - keyword: string; - dataPath: string; - schemaPath: string; - params: ErrorParameters; - // Added to validation errors of propertyNames keyword schema - propertyName?: string; - // Excluded if messages set to false. - message?: string; - // These are added with the `verbose` option. - schema?: any; - parentSchema?: object; - data?: any; - } - - type ErrorParameters = RefParams | LimitParams | AdditionalPropertiesParams | - DependenciesParams | FormatParams | ComparisonParams | - MultipleOfParams | PatternParams | RequiredParams | - TypeParams | UniqueItemsParams | CustomParams | - PatternRequiredParams | PropertyNamesParams | - IfParams | SwitchParams | NoParams | EnumParams; - - interface RefParams { - ref: string; - } - - interface LimitParams { - limit: number; - } - - interface AdditionalPropertiesParams { - additionalProperty: string; - } - - interface DependenciesParams { - property: string; - missingProperty: string; - depsCount: number; - deps: string; - } - - interface FormatParams { - format: string - } - - interface ComparisonParams { - comparison: string; - limit: number | string; - exclusive: boolean; - } - - interface MultipleOfParams { - multipleOf: number; - } - - interface PatternParams { - pattern: string; - } - - interface RequiredParams { - missingProperty: string; - } - - interface TypeParams { - type: string; - } - - interface UniqueItemsParams { - i: number; - j: number; - } - - interface CustomParams { - keyword: string; - } - - interface PatternRequiredParams { - missingPattern: string; - } - - interface PropertyNamesParams { - propertyName: string; - } - - interface IfParams { - failingKeyword: string; - } - - interface SwitchParams { - caseIndex: number; - } - - interface NoParams { } - - interface EnumParams { - allowedValues: Array; - } -} - -export = ajv; diff --git a/node_modules/ajv/lib/ajv.js b/node_modules/ajv/lib/ajv.js deleted file mode 100644 index 06a45b6..0000000 --- a/node_modules/ajv/lib/ajv.js +++ /dev/null @@ -1,506 +0,0 @@ -'use strict'; - -var compileSchema = require('./compile') - , resolve = require('./compile/resolve') - , Cache = require('./cache') - , SchemaObject = require('./compile/schema_obj') - , stableStringify = require('fast-json-stable-stringify') - , formats = require('./compile/formats') - , rules = require('./compile/rules') - , $dataMetaSchema = require('./data') - , util = require('./compile/util'); - -module.exports = Ajv; - -Ajv.prototype.validate = validate; -Ajv.prototype.compile = compile; -Ajv.prototype.addSchema = addSchema; -Ajv.prototype.addMetaSchema = addMetaSchema; -Ajv.prototype.validateSchema = validateSchema; -Ajv.prototype.getSchema = getSchema; -Ajv.prototype.removeSchema = removeSchema; -Ajv.prototype.addFormat = addFormat; -Ajv.prototype.errorsText = errorsText; - -Ajv.prototype._addSchema = _addSchema; -Ajv.prototype._compile = _compile; - -Ajv.prototype.compileAsync = require('./compile/async'); -var customKeyword = require('./keyword'); -Ajv.prototype.addKeyword = customKeyword.add; -Ajv.prototype.getKeyword = customKeyword.get; -Ajv.prototype.removeKeyword = customKeyword.remove; -Ajv.prototype.validateKeyword = customKeyword.validate; - -var errorClasses = require('./compile/error_classes'); -Ajv.ValidationError = errorClasses.Validation; -Ajv.MissingRefError = errorClasses.MissingRef; -Ajv.$dataMetaSchema = $dataMetaSchema; - -var META_SCHEMA_ID = 'http://json-schema.org/draft-07/schema'; - -var META_IGNORE_OPTIONS = [ 'removeAdditional', 'useDefaults', 'coerceTypes', 'strictDefaults' ]; -var META_SUPPORT_DATA = ['/properties']; - -/** - * Creates validator instance. - * Usage: `Ajv(opts)` - * @param {Object} opts optional options - * @return {Object} ajv instance - */ -function Ajv(opts) { - if (!(this instanceof Ajv)) return new Ajv(opts); - opts = this._opts = util.copy(opts) || {}; - setLogger(this); - this._schemas = {}; - this._refs = {}; - this._fragments = {}; - this._formats = formats(opts.format); - - this._cache = opts.cache || new Cache; - this._loadingSchemas = {}; - this._compilations = []; - this.RULES = rules(); - this._getId = chooseGetId(opts); - - opts.loopRequired = opts.loopRequired || Infinity; - if (opts.errorDataPath == 'property') opts._errorDataPathProperty = true; - if (opts.serialize === undefined) opts.serialize = stableStringify; - this._metaOpts = getMetaSchemaOptions(this); - - if (opts.formats) addInitialFormats(this); - if (opts.keywords) addInitialKeywords(this); - addDefaultMetaSchema(this); - if (typeof opts.meta == 'object') this.addMetaSchema(opts.meta); - if (opts.nullable) this.addKeyword('nullable', {metaSchema: {type: 'boolean'}}); - addInitialSchemas(this); -} - - - -/** - * Validate data using schema - * Schema will be compiled and cached (using serialized JSON as key. [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize. - * @this Ajv - * @param {String|Object} schemaKeyRef key, ref or schema object - * @param {Any} data to be validated - * @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`). - */ -function validate(schemaKeyRef, data) { - var v; - if (typeof schemaKeyRef == 'string') { - v = this.getSchema(schemaKeyRef); - if (!v) throw new Error('no schema with key or ref "' + schemaKeyRef + '"'); - } else { - var schemaObj = this._addSchema(schemaKeyRef); - v = schemaObj.validate || this._compile(schemaObj); - } - - var valid = v(data); - if (v.$async !== true) this.errors = v.errors; - return valid; -} - - -/** - * Create validating function for passed schema. - * @this Ajv - * @param {Object} schema schema object - * @param {Boolean} _meta true if schema is a meta-schema. Used internally to compile meta schemas of custom keywords. - * @return {Function} validating function - */ -function compile(schema, _meta) { - var schemaObj = this._addSchema(schema, undefined, _meta); - return schemaObj.validate || this._compile(schemaObj); -} - - -/** - * Adds schema to the instance. - * @this Ajv - * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored. - * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`. - * @param {Boolean} _skipValidation true to skip schema validation. Used internally, option validateSchema should be used instead. - * @param {Boolean} _meta true if schema is a meta-schema. Used internally, addMetaSchema should be used instead. - * @return {Ajv} this for method chaining - */ -function addSchema(schema, key, _skipValidation, _meta) { - if (Array.isArray(schema)){ - for (var i=0; i} errors optional array of validation errors, if not passed errors from the instance are used. - * @param {Object} options optional options with properties `separator` and `dataVar`. - * @return {String} human readable string with all errors descriptions - */ -function errorsText(errors, options) { - errors = errors || this.errors; - if (!errors) return 'No errors'; - options = options || {}; - var separator = options.separator === undefined ? ', ' : options.separator; - var dataVar = options.dataVar === undefined ? 'data' : options.dataVar; - - var text = ''; - for (var i=0; i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i; -// For the source: https://gist.github.com/dperini/729294 -// For test cases: https://mathiasbynens.be/demo/url-regex -// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983. -// var URL = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu; -var URL = /^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i; -var UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i; -var JSON_POINTER = /^(?:\/(?:[^~/]|~0|~1)*)*$/; -var JSON_POINTER_URI_FRAGMENT = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i; -var RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/; - - -module.exports = formats; - -function formats(mode) { - mode = mode == 'full' ? 'full' : 'fast'; - return util.copy(formats[mode]); -} - - -formats.fast = { - // date: http://tools.ietf.org/html/rfc3339#section-5.6 - date: /^\d\d\d\d-[0-1]\d-[0-3]\d$/, - // date-time: http://tools.ietf.org/html/rfc3339#section-5.6 - time: /^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i, - 'date-time': /^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i, - // uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js - uri: /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i, - 'uri-reference': /^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i, - 'uri-template': URITEMPLATE, - url: URL, - // email (sources from jsen validator): - // http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363 - // http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation') - email: /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i, - hostname: HOSTNAME, - // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html - ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, - // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses - ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, - regex: regex, - // uuid: http://tools.ietf.org/html/rfc4122 - uuid: UUID, - // JSON-pointer: https://tools.ietf.org/html/rfc6901 - // uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A - 'json-pointer': JSON_POINTER, - 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, - // relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00 - 'relative-json-pointer': RELATIVE_JSON_POINTER -}; - - -formats.full = { - date: date, - time: time, - 'date-time': date_time, - uri: uri, - 'uri-reference': URIREF, - 'uri-template': URITEMPLATE, - url: URL, - email: /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, - hostname: HOSTNAME, - ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, - ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, - regex: regex, - uuid: UUID, - 'json-pointer': JSON_POINTER, - 'json-pointer-uri-fragment': JSON_POINTER_URI_FRAGMENT, - 'relative-json-pointer': RELATIVE_JSON_POINTER -}; - - -function isLeapYear(year) { - // https://tools.ietf.org/html/rfc3339#appendix-C - return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); -} - - -function date(str) { - // full-date from http://tools.ietf.org/html/rfc3339#section-5.6 - var matches = str.match(DATE); - if (!matches) return false; - - var year = +matches[1]; - var month = +matches[2]; - var day = +matches[3]; - - return month >= 1 && month <= 12 && day >= 1 && - day <= (month == 2 && isLeapYear(year) ? 29 : DAYS[month]); -} - - -function time(str, full) { - var matches = str.match(TIME); - if (!matches) return false; - - var hour = matches[1]; - var minute = matches[2]; - var second = matches[3]; - var timeZone = matches[5]; - return ((hour <= 23 && minute <= 59 && second <= 59) || - (hour == 23 && minute == 59 && second == 60)) && - (!full || timeZone); -} - - -var DATE_TIME_SEPARATOR = /t|\s/i; -function date_time(str) { - // http://tools.ietf.org/html/rfc3339#section-5.6 - var dateTime = str.split(DATE_TIME_SEPARATOR); - return dateTime.length == 2 && date(dateTime[0]) && time(dateTime[1], true); -} - - -var NOT_URI_FRAGMENT = /\/|:/; -function uri(str) { - // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required "." - return NOT_URI_FRAGMENT.test(str) && URI.test(str); -} - - -var Z_ANCHOR = /[^\\]\\Z/; -function regex(str) { - if (Z_ANCHOR.test(str)) return false; - try { - new RegExp(str); - return true; - } catch(e) { - return false; - } -} diff --git a/node_modules/ajv/lib/compile/index.js b/node_modules/ajv/lib/compile/index.js deleted file mode 100644 index 97518c4..0000000 --- a/node_modules/ajv/lib/compile/index.js +++ /dev/null @@ -1,387 +0,0 @@ -'use strict'; - -var resolve = require('./resolve') - , util = require('./util') - , errorClasses = require('./error_classes') - , stableStringify = require('fast-json-stable-stringify'); - -var validateGenerator = require('../dotjs/validate'); - -/** - * Functions below are used inside compiled validations function - */ - -var ucs2length = util.ucs2length; -var equal = require('fast-deep-equal'); - -// this error is thrown by async schemas to return validation errors via exception -var ValidationError = errorClasses.Validation; - -module.exports = compile; - - -/** - * Compiles schema to validation function - * @this Ajv - * @param {Object} schema schema object - * @param {Object} root object with information about the root schema for this schema - * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution - * @param {String} baseId base ID for IDs in the schema - * @return {Function} validation function - */ -function compile(schema, root, localRefs, baseId) { - /* jshint validthis: true, evil: true */ - /* eslint no-shadow: 0 */ - var self = this - , opts = this._opts - , refVal = [ undefined ] - , refs = {} - , patterns = [] - , patternsHash = {} - , defaults = [] - , defaultsHash = {} - , customRules = []; - - root = root || { schema: schema, refVal: refVal, refs: refs }; - - var c = checkCompiling.call(this, schema, root, baseId); - var compilation = this._compilations[c.index]; - if (c.compiling) return (compilation.callValidate = callValidate); - - var formats = this._formats; - var RULES = this.RULES; - - try { - var v = localCompile(schema, root, localRefs, baseId); - compilation.validate = v; - var cv = compilation.callValidate; - if (cv) { - cv.schema = v.schema; - cv.errors = null; - cv.refs = v.refs; - cv.refVal = v.refVal; - cv.root = v.root; - cv.$async = v.$async; - if (opts.sourceCode) cv.source = v.source; - } - return v; - } finally { - endCompiling.call(this, schema, root, baseId); - } - - /* @this {*} - custom context, see passContext option */ - function callValidate() { - /* jshint validthis: true */ - var validate = compilation.validate; - var result = validate.apply(this, arguments); - callValidate.errors = validate.errors; - return result; - } - - function localCompile(_schema, _root, localRefs, baseId) { - var isRoot = !_root || (_root && _root.schema == _schema); - if (_root.schema != root.schema) - return compile.call(self, _schema, _root, localRefs, baseId); - - var $async = _schema.$async === true; - - var sourceCode = validateGenerator({ - isTop: true, - schema: _schema, - isRoot: isRoot, - baseId: baseId, - root: _root, - schemaPath: '', - errSchemaPath: '#', - errorPath: '""', - MissingRefError: errorClasses.MissingRef, - RULES: RULES, - validate: validateGenerator, - util: util, - resolve: resolve, - resolveRef: resolveRef, - usePattern: usePattern, - useDefault: useDefault, - useCustomRule: useCustomRule, - opts: opts, - formats: formats, - logger: self.logger, - self: self - }); - - sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode) - + vars(defaults, defaultCode) + vars(customRules, customRuleCode) - + sourceCode; - - if (opts.processCode) sourceCode = opts.processCode(sourceCode, _schema); - // console.log('\n\n\n *** \n', JSON.stringify(sourceCode)); - var validate; - try { - var makeValidate = new Function( - 'self', - 'RULES', - 'formats', - 'root', - 'refVal', - 'defaults', - 'customRules', - 'equal', - 'ucs2length', - 'ValidationError', - sourceCode - ); - - validate = makeValidate( - self, - RULES, - formats, - root, - refVal, - defaults, - customRules, - equal, - ucs2length, - ValidationError - ); - - refVal[0] = validate; - } catch(e) { - self.logger.error('Error compiling schema, function code:', sourceCode); - throw e; - } - - validate.schema = _schema; - validate.errors = null; - validate.refs = refs; - validate.refVal = refVal; - validate.root = isRoot ? validate : _root; - if ($async) validate.$async = true; - if (opts.sourceCode === true) { - validate.source = { - code: sourceCode, - patterns: patterns, - defaults: defaults - }; - } - - return validate; - } - - function resolveRef(baseId, ref, isRoot) { - ref = resolve.url(baseId, ref); - var refIndex = refs[ref]; - var _refVal, refCode; - if (refIndex !== undefined) { - _refVal = refVal[refIndex]; - refCode = 'refVal[' + refIndex + ']'; - return resolvedRef(_refVal, refCode); - } - if (!isRoot && root.refs) { - var rootRefId = root.refs[ref]; - if (rootRefId !== undefined) { - _refVal = root.refVal[rootRefId]; - refCode = addLocalRef(ref, _refVal); - return resolvedRef(_refVal, refCode); - } - } - - refCode = addLocalRef(ref); - var v = resolve.call(self, localCompile, root, ref); - if (v === undefined) { - var localSchema = localRefs && localRefs[ref]; - if (localSchema) { - v = resolve.inlineRef(localSchema, opts.inlineRefs) - ? localSchema - : compile.call(self, localSchema, root, localRefs, baseId); - } - } - - if (v === undefined) { - removeLocalRef(ref); - } else { - replaceLocalRef(ref, v); - return resolvedRef(v, refCode); - } - } - - function addLocalRef(ref, v) { - var refId = refVal.length; - refVal[refId] = v; - refs[ref] = refId; - return 'refVal' + refId; - } - - function removeLocalRef(ref) { - delete refs[ref]; - } - - function replaceLocalRef(ref, v) { - var refId = refs[ref]; - refVal[refId] = v; - } - - function resolvedRef(refVal, code) { - return typeof refVal == 'object' || typeof refVal == 'boolean' - ? { code: code, schema: refVal, inline: true } - : { code: code, $async: refVal && !!refVal.$async }; - } - - function usePattern(regexStr) { - var index = patternsHash[regexStr]; - if (index === undefined) { - index = patternsHash[regexStr] = patterns.length; - patterns[index] = regexStr; - } - return 'pattern' + index; - } - - function useDefault(value) { - switch (typeof value) { - case 'boolean': - case 'number': - return '' + value; - case 'string': - return util.toQuotedString(value); - case 'object': - if (value === null) return 'null'; - var valueStr = stableStringify(value); - var index = defaultsHash[valueStr]; - if (index === undefined) { - index = defaultsHash[valueStr] = defaults.length; - defaults[index] = value; - } - return 'default' + index; - } - } - - function useCustomRule(rule, schema, parentSchema, it) { - if (self._opts.validateSchema !== false) { - var deps = rule.definition.dependencies; - if (deps && !deps.every(function(keyword) { - return Object.prototype.hasOwnProperty.call(parentSchema, keyword); - })) - throw new Error('parent schema must have all required keywords: ' + deps.join(',')); - - var validateSchema = rule.definition.validateSchema; - if (validateSchema) { - var valid = validateSchema(schema); - if (!valid) { - var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors); - if (self._opts.validateSchema == 'log') self.logger.error(message); - else throw new Error(message); - } - } - } - - var compile = rule.definition.compile - , inline = rule.definition.inline - , macro = rule.definition.macro; - - var validate; - if (compile) { - validate = compile.call(self, schema, parentSchema, it); - } else if (macro) { - validate = macro.call(self, schema, parentSchema, it); - if (opts.validateSchema !== false) self.validateSchema(validate, true); - } else if (inline) { - validate = inline.call(self, it, rule.keyword, schema, parentSchema); - } else { - validate = rule.definition.validate; - if (!validate) return; - } - - if (validate === undefined) - throw new Error('custom keyword "' + rule.keyword + '"failed to compile'); - - var index = customRules.length; - customRules[index] = validate; - - return { - code: 'customRule' + index, - validate: validate - }; - } -} - - -/** - * Checks if the schema is currently compiled - * @this Ajv - * @param {Object} schema schema to compile - * @param {Object} root root object - * @param {String} baseId base schema ID - * @return {Object} object with properties "index" (compilation index) and "compiling" (boolean) - */ -function checkCompiling(schema, root, baseId) { - /* jshint validthis: true */ - var index = compIndex.call(this, schema, root, baseId); - if (index >= 0) return { index: index, compiling: true }; - index = this._compilations.length; - this._compilations[index] = { - schema: schema, - root: root, - baseId: baseId - }; - return { index: index, compiling: false }; -} - - -/** - * Removes the schema from the currently compiled list - * @this Ajv - * @param {Object} schema schema to compile - * @param {Object} root root object - * @param {String} baseId base schema ID - */ -function endCompiling(schema, root, baseId) { - /* jshint validthis: true */ - var i = compIndex.call(this, schema, root, baseId); - if (i >= 0) this._compilations.splice(i, 1); -} - - -/** - * Index of schema compilation in the currently compiled list - * @this Ajv - * @param {Object} schema schema to compile - * @param {Object} root root object - * @param {String} baseId base schema ID - * @return {Integer} compilation index - */ -function compIndex(schema, root, baseId) { - /* jshint validthis: true */ - for (var i=0; i= 0xD800 && value <= 0xDBFF && pos < len) { - // high surrogate, and there is a next character - value = str.charCodeAt(pos); - if ((value & 0xFC00) == 0xDC00) pos++; // low surrogate - } - } - return length; -}; diff --git a/node_modules/ajv/lib/compile/util.js b/node_modules/ajv/lib/compile/util.js deleted file mode 100644 index ef07b8c..0000000 --- a/node_modules/ajv/lib/compile/util.js +++ /dev/null @@ -1,239 +0,0 @@ -'use strict'; - - -module.exports = { - copy: copy, - checkDataType: checkDataType, - checkDataTypes: checkDataTypes, - coerceToTypes: coerceToTypes, - toHash: toHash, - getProperty: getProperty, - escapeQuotes: escapeQuotes, - equal: require('fast-deep-equal'), - ucs2length: require('./ucs2length'), - varOccurences: varOccurences, - varReplace: varReplace, - schemaHasRules: schemaHasRules, - schemaHasRulesExcept: schemaHasRulesExcept, - schemaUnknownRules: schemaUnknownRules, - toQuotedString: toQuotedString, - getPathExpr: getPathExpr, - getPath: getPath, - getData: getData, - unescapeFragment: unescapeFragment, - unescapeJsonPointer: unescapeJsonPointer, - escapeFragment: escapeFragment, - escapeJsonPointer: escapeJsonPointer -}; - - -function copy(o, to) { - to = to || {}; - for (var key in o) to[key] = o[key]; - return to; -} - - -function checkDataType(dataType, data, strictNumbers, negate) { - var EQUAL = negate ? ' !== ' : ' === ' - , AND = negate ? ' || ' : ' && ' - , OK = negate ? '!' : '' - , NOT = negate ? '' : '!'; - switch (dataType) { - case 'null': return data + EQUAL + 'null'; - case 'array': return OK + 'Array.isArray(' + data + ')'; - case 'object': return '(' + OK + data + AND + - 'typeof ' + data + EQUAL + '"object"' + AND + - NOT + 'Array.isArray(' + data + '))'; - case 'integer': return '(typeof ' + data + EQUAL + '"number"' + AND + - NOT + '(' + data + ' % 1)' + - AND + data + EQUAL + data + - (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; - case 'number': return '(typeof ' + data + EQUAL + '"' + dataType + '"' + - (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')'; - default: return 'typeof ' + data + EQUAL + '"' + dataType + '"'; - } -} - - -function checkDataTypes(dataTypes, data, strictNumbers) { - switch (dataTypes.length) { - case 1: return checkDataType(dataTypes[0], data, strictNumbers, true); - default: - var code = ''; - var types = toHash(dataTypes); - if (types.array && types.object) { - code = types.null ? '(': '(!' + data + ' || '; - code += 'typeof ' + data + ' !== "object")'; - delete types.null; - delete types.array; - delete types.object; - } - if (types.number) delete types.integer; - for (var t in types) - code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true); - - return code; - } -} - - -var COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]); -function coerceToTypes(optionCoerceTypes, dataTypes) { - if (Array.isArray(dataTypes)) { - var types = []; - for (var i=0; i= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl); - return paths[lvl - up]; - } - - if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl); - data = 'data' + ((lvl - up) || ''); - if (!jsonPointer) return data; - } - - var expr = data; - var segments = jsonPointer.split('/'); - for (var i=0; i' - , $notOp = $isMax ? '>' : '<' - , $errorKeyword = undefined; - - if (!($isData || typeof $schema == 'number' || $schema === undefined)) { - throw new Error($keyword + ' must be number'); - } - if (!($isDataExcl || $schemaExcl === undefined - || typeof $schemaExcl == 'number' - || typeof $schemaExcl == 'boolean')) { - throw new Error($exclusiveKeyword + ' must be number or boolean'); - } -}} - -{{? $isDataExcl }} - {{ - var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr) - , $exclusive = 'exclusive' + $lvl - , $exclType = 'exclType' + $lvl - , $exclIsNumber = 'exclIsNumber' + $lvl - , $opExpr = 'op' + $lvl - , $opStr = '\' + ' + $opExpr + ' + \''; - }} - var schemaExcl{{=$lvl}} = {{=$schemaValueExcl}}; - {{ $schemaValueExcl = 'schemaExcl' + $lvl; }} - - var {{=$exclusive}}; - var {{=$exclType}} = typeof {{=$schemaValueExcl}}; - if ({{=$exclType}} != 'boolean' && {{=$exclType}} != 'undefined' && {{=$exclType}} != 'number') { - {{ var $errorKeyword = $exclusiveKeyword; }} - {{# def.error:'_exclusiveLimit' }} - } else if ({{# def.$dataNotType:'number' }} - {{=$exclType}} == 'number' - ? ( - ({{=$exclusive}} = {{=$schemaValue}} === undefined || {{=$schemaValueExcl}} {{=$op}}= {{=$schemaValue}}) - ? {{=$data}} {{=$notOp}}= {{=$schemaValueExcl}} - : {{=$data}} {{=$notOp}} {{=$schemaValue}} - ) - : ( - ({{=$exclusive}} = {{=$schemaValueExcl}} === true) - ? {{=$data}} {{=$notOp}}= {{=$schemaValue}} - : {{=$data}} {{=$notOp}} {{=$schemaValue}} - ) - || {{=$data}} !== {{=$data}}) { - var op{{=$lvl}} = {{=$exclusive}} ? '{{=$op}}' : '{{=$op}}='; - {{ - if ($schema === undefined) { - $errorKeyword = $exclusiveKeyword; - $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; - $schemaValue = $schemaValueExcl; - $isData = $isDataExcl; - } - }} -{{??}} - {{ - var $exclIsNumber = typeof $schemaExcl == 'number' - , $opStr = $op; /*used in error*/ - }} - - {{? $exclIsNumber && $isData }} - {{ var $opExpr = '\'' + $opStr + '\''; /*used in error*/ }} - if ({{# def.$dataNotType:'number' }} - ( {{=$schemaValue}} === undefined - || {{=$schemaExcl}} {{=$op}}= {{=$schemaValue}} - ? {{=$data}} {{=$notOp}}= {{=$schemaExcl}} - : {{=$data}} {{=$notOp}} {{=$schemaValue}} ) - || {{=$data}} !== {{=$data}}) { - {{??}} - {{ - if ($exclIsNumber && $schema === undefined) { - {{# def.setExclusiveLimit }} - $schemaValue = $schemaExcl; - $notOp += '='; - } else { - if ($exclIsNumber) - $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); - - if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { - {{# def.setExclusiveLimit }} - $notOp += '='; - } else { - $exclusive = false; - $opStr += '='; - } - } - - var $opExpr = '\'' + $opStr + '\''; /*used in error*/ - }} - - if ({{# def.$dataNotType:'number' }} - {{=$data}} {{=$notOp}} {{=$schemaValue}} - || {{=$data}} !== {{=$data}}) { - {{?}} -{{?}} - {{ $errorKeyword = $errorKeyword || $keyword; }} - {{# def.error:'_limit' }} - } {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/_limitItems.jst b/node_modules/ajv/lib/dot/_limitItems.jst deleted file mode 100644 index 741329e..0000000 --- a/node_modules/ajv/lib/dot/_limitItems.jst +++ /dev/null @@ -1,12 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.$data }} - -{{# def.numberKeyword }} - -{{ var $op = $keyword == 'maxItems' ? '>' : '<'; }} -if ({{# def.$dataNotType:'number' }} {{=$data}}.length {{=$op}} {{=$schemaValue}}) { - {{ var $errorKeyword = $keyword; }} - {{# def.error:'_limitItems' }} -} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/_limitLength.jst b/node_modules/ajv/lib/dot/_limitLength.jst deleted file mode 100644 index 285c66b..0000000 --- a/node_modules/ajv/lib/dot/_limitLength.jst +++ /dev/null @@ -1,12 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.$data }} - -{{# def.numberKeyword }} - -{{ var $op = $keyword == 'maxLength' ? '>' : '<'; }} -if ({{# def.$dataNotType:'number' }} {{# def.strLength }} {{=$op}} {{=$schemaValue}}) { - {{ var $errorKeyword = $keyword; }} - {{# def.error:'_limitLength' }} -} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/_limitProperties.jst b/node_modules/ajv/lib/dot/_limitProperties.jst deleted file mode 100644 index c4c2155..0000000 --- a/node_modules/ajv/lib/dot/_limitProperties.jst +++ /dev/null @@ -1,12 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.$data }} - -{{# def.numberKeyword }} - -{{ var $op = $keyword == 'maxProperties' ? '>' : '<'; }} -if ({{# def.$dataNotType:'number' }} Object.keys({{=$data}}).length {{=$op}} {{=$schemaValue}}) { - {{ var $errorKeyword = $keyword; }} - {{# def.error:'_limitProperties' }} -} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/allOf.jst b/node_modules/ajv/lib/dot/allOf.jst deleted file mode 100644 index 0e782fe..0000000 --- a/node_modules/ajv/lib/dot/allOf.jst +++ /dev/null @@ -1,32 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - -{{ - var $currentBaseId = $it.baseId - , $allSchemasEmpty = true; -}} - -{{~ $schema:$sch:$i }} - {{? {{# def.nonEmptySchema:$sch }} }} - {{ - $allSchemasEmpty = false; - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - }} - - {{# def.insertSubschemaCode }} - - {{# def.ifResultValid }} - {{?}} -{{~}} - -{{? $breakOnError }} - {{? $allSchemasEmpty }} - if (true) { - {{??}} - {{= $closingBraces.slice(0,-1) }} - {{?}} -{{?}} diff --git a/node_modules/ajv/lib/dot/anyOf.jst b/node_modules/ajv/lib/dot/anyOf.jst deleted file mode 100644 index ea909ee..0000000 --- a/node_modules/ajv/lib/dot/anyOf.jst +++ /dev/null @@ -1,46 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - -{{ - var $noEmptySchema = $schema.every(function($sch) { - return {{# def.nonEmptySchema:$sch }}; - }); -}} -{{? $noEmptySchema }} - {{ var $currentBaseId = $it.baseId; }} - var {{=$errs}} = errors; - var {{=$valid}} = false; - - {{# def.setCompositeRule }} - - {{~ $schema:$sch:$i }} - {{ - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - }} - - {{# def.insertSubschemaCode }} - - {{=$valid}} = {{=$valid}} || {{=$nextValid}}; - - if (!{{=$valid}}) { - {{ $closingBraces += '}'; }} - {{~}} - - {{# def.resetCompositeRule }} - - {{= $closingBraces }} - - if (!{{=$valid}}) { - {{# def.extraError:'anyOf' }} - } else { - {{# def.resetErrors }} - {{? it.opts.allErrors }} } {{?}} -{{??}} - {{? $breakOnError }} - if (true) { - {{?}} -{{?}} diff --git a/node_modules/ajv/lib/dot/coerce.def b/node_modules/ajv/lib/dot/coerce.def deleted file mode 100644 index c947ed6..0000000 --- a/node_modules/ajv/lib/dot/coerce.def +++ /dev/null @@ -1,51 +0,0 @@ -{{## def.coerceType: - {{ - var $dataType = 'dataType' + $lvl - , $coerced = 'coerced' + $lvl; - }} - var {{=$dataType}} = typeof {{=$data}}; - var {{=$coerced}} = undefined; - - {{? it.opts.coerceTypes == 'array' }} - if ({{=$dataType}} == 'object' && Array.isArray({{=$data}}) && {{=$data}}.length == 1) { - {{=$data}} = {{=$data}}[0]; - {{=$dataType}} = typeof {{=$data}}; - if ({{=it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)}}) {{=$coerced}} = {{=$data}}; - } - {{?}} - - if ({{=$coerced}} !== undefined) ; - {{~ $coerceToTypes:$type:$i }} - {{? $type == 'string' }} - else if ({{=$dataType}} == 'number' || {{=$dataType}} == 'boolean') - {{=$coerced}} = '' + {{=$data}}; - else if ({{=$data}} === null) {{=$coerced}} = ''; - {{?? $type == 'number' || $type == 'integer' }} - else if ({{=$dataType}} == 'boolean' || {{=$data}} === null - || ({{=$dataType}} == 'string' && {{=$data}} && {{=$data}} == +{{=$data}} - {{? $type == 'integer' }} && !({{=$data}} % 1){{?}})) - {{=$coerced}} = +{{=$data}}; - {{?? $type == 'boolean' }} - else if ({{=$data}} === 'false' || {{=$data}} === 0 || {{=$data}} === null) - {{=$coerced}} = false; - else if ({{=$data}} === 'true' || {{=$data}} === 1) - {{=$coerced}} = true; - {{?? $type == 'null' }} - else if ({{=$data}} === '' || {{=$data}} === 0 || {{=$data}} === false) - {{=$coerced}} = null; - {{?? it.opts.coerceTypes == 'array' && $type == 'array' }} - else if ({{=$dataType}} == 'string' || {{=$dataType}} == 'number' || {{=$dataType}} == 'boolean' || {{=$data}} == null) - {{=$coerced}} = [{{=$data}}]; - {{?}} - {{~}} - else { - {{# def.error:'type' }} - } - - if ({{=$coerced}} !== undefined) { - {{# def.setParentData }} - {{=$data}} = {{=$coerced}}; - {{? !$dataLvl }}if ({{=$parentData}} !== undefined){{?}} - {{=$parentData}}[{{=$parentDataProperty}}] = {{=$coerced}}; - } -#}} diff --git a/node_modules/ajv/lib/dot/comment.jst b/node_modules/ajv/lib/dot/comment.jst deleted file mode 100644 index f959150..0000000 --- a/node_modules/ajv/lib/dot/comment.jst +++ /dev/null @@ -1,9 +0,0 @@ -{{# def.definitions }} -{{# def.setupKeyword }} - -{{ var $comment = it.util.toQuotedString($schema); }} -{{? it.opts.$comment === true }} - console.log({{=$comment}}); -{{?? typeof it.opts.$comment == 'function' }} - self._opts.$comment({{=$comment}}, {{=it.util.toQuotedString($errSchemaPath)}}, validate.root.schema); -{{?}} diff --git a/node_modules/ajv/lib/dot/const.jst b/node_modules/ajv/lib/dot/const.jst deleted file mode 100644 index 2aa2298..0000000 --- a/node_modules/ajv/lib/dot/const.jst +++ /dev/null @@ -1,11 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.$data }} - -{{? !$isData }} - var schema{{=$lvl}} = validate.schema{{=$schemaPath}}; -{{?}} -var {{=$valid}} = equal({{=$data}}, schema{{=$lvl}}); -{{# def.checkError:'const' }} -{{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/contains.jst b/node_modules/ajv/lib/dot/contains.jst deleted file mode 100644 index 4dc9967..0000000 --- a/node_modules/ajv/lib/dot/contains.jst +++ /dev/null @@ -1,55 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - - -{{ - var $idx = 'i' + $lvl - , $dataNxt = $it.dataLevel = it.dataLevel + 1 - , $nextData = 'data' + $dataNxt - , $currentBaseId = it.baseId - , $nonEmptySchema = {{# def.nonEmptySchema:$schema }}; -}} - -var {{=$errs}} = errors; -var {{=$valid}}; - -{{? $nonEmptySchema }} - {{# def.setCompositeRule }} - - {{ - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - }} - - var {{=$nextValid}} = false; - - for (var {{=$idx}} = 0; {{=$idx}} < {{=$data}}.length; {{=$idx}}++) { - {{ - $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); - var $passData = $data + '[' + $idx + ']'; - $it.dataPathArr[$dataNxt] = $idx; - }} - - {{# def.generateSubschemaCode }} - {{# def.optimizeValidate }} - - if ({{=$nextValid}}) break; - } - - {{# def.resetCompositeRule }} - {{= $closingBraces }} - - if (!{{=$nextValid}}) { -{{??}} - if ({{=$data}}.length == 0) { -{{?}} - - {{# def.error:'contains' }} - } else { - {{? $nonEmptySchema }} - {{# def.resetErrors }} - {{?}} - {{? it.opts.allErrors }} } {{?}} diff --git a/node_modules/ajv/lib/dot/custom.jst b/node_modules/ajv/lib/dot/custom.jst deleted file mode 100644 index d30588f..0000000 --- a/node_modules/ajv/lib/dot/custom.jst +++ /dev/null @@ -1,191 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.$data }} - -{{ - var $rule = this - , $definition = 'definition' + $lvl - , $rDef = $rule.definition - , $closingBraces = ''; - var $validate = $rDef.validate; - var $compile, $inline, $macro, $ruleValidate, $validateCode; -}} - -{{? $isData && $rDef.$data }} - {{ - $validateCode = 'keywordValidate' + $lvl; - var $validateSchema = $rDef.validateSchema; - }} - var {{=$definition}} = RULES.custom['{{=$keyword}}'].definition; - var {{=$validateCode}} = {{=$definition}}.validate; -{{??}} - {{ - $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); - if (!$ruleValidate) return; - $schemaValue = 'validate.schema' + $schemaPath; - $validateCode = $ruleValidate.code; - $compile = $rDef.compile; - $inline = $rDef.inline; - $macro = $rDef.macro; - }} -{{?}} - -{{ - var $ruleErrs = $validateCode + '.errors' - , $i = 'i' + $lvl - , $ruleErr = 'ruleErr' + $lvl - , $asyncKeyword = $rDef.async; - - if ($asyncKeyword && !it.async) - throw new Error('async keyword in sync schema'); -}} - - -{{? !($inline || $macro) }}{{=$ruleErrs}} = null;{{?}} -var {{=$errs}} = errors; -var {{=$valid}}; - -{{## def.callRuleValidate: - {{=$validateCode}}.call( - {{? it.opts.passContext }}this{{??}}self{{?}} - {{? $compile || $rDef.schema === false }} - , {{=$data}} - {{??}} - , {{=$schemaValue}} - , {{=$data}} - , validate.schema{{=it.schemaPath}} - {{?}} - , {{# def.dataPath }} - {{# def.passParentData }} - , rootData - ) -#}} - -{{## def.extendErrors:_inline: - for (var {{=$i}}={{=$errs}}; {{=$i}} 0) - || _schema === false - : it.util.schemaHasRules(_schema, it.RULES.all)) -#}} - - -{{## def.strLength: - {{? it.opts.unicode === false }} - {{=$data}}.length - {{??}} - ucs2length({{=$data}}) - {{?}} -#}} - - -{{## def.willOptimize: - it.util.varOccurences($code, $nextData) < 2 -#}} - - -{{## def.generateSubschemaCode: - {{ - var $code = it.validate($it); - $it.baseId = $currentBaseId; - }} -#}} - - -{{## def.insertSubschemaCode: - {{= it.validate($it) }} - {{ $it.baseId = $currentBaseId; }} -#}} - - -{{## def._optimizeValidate: - it.util.varReplace($code, $nextData, $passData) -#}} - - -{{## def.optimizeValidate: - {{? {{# def.willOptimize}} }} - {{= {{# def._optimizeValidate }} }} - {{??}} - var {{=$nextData}} = {{=$passData}}; - {{= $code }} - {{?}} -#}} - - -{{## def.$data: - {{ - var $isData = it.opts.$data && $schema && $schema.$data - , $schemaValue; - }} - {{? $isData }} - var schema{{=$lvl}} = {{= it.util.getData($schema.$data, $dataLvl, it.dataPathArr) }}; - {{ $schemaValue = 'schema' + $lvl; }} - {{??}} - {{ $schemaValue = $schema; }} - {{?}} -#}} - - -{{## def.$dataNotType:_type: - {{?$isData}} ({{=$schemaValue}} !== undefined && typeof {{=$schemaValue}} != _type) || {{?}} -#}} - - -{{## def.check$dataIsArray: - if (schema{{=$lvl}} === undefined) {{=$valid}} = true; - else if (!Array.isArray(schema{{=$lvl}})) {{=$valid}} = false; - else { -#}} - - -{{## def.numberKeyword: - {{? !($isData || typeof $schema == 'number') }} - {{ throw new Error($keyword + ' must be number'); }} - {{?}} -#}} - - -{{## def.beginDefOut: - {{ - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; - }} -#}} - - -{{## def.storeDefOut:_variable: - {{ - var _variable = out; - out = $$outStack.pop(); - }} -#}} - - -{{## def.dataPath:(dataPath || ''){{? it.errorPath != '""'}} + {{= it.errorPath }}{{?}}#}} - -{{## def.setParentData: - {{ - var $parentData = $dataLvl ? 'data' + (($dataLvl-1)||'') : 'parentData' - , $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; - }} -#}} - -{{## def.passParentData: - {{# def.setParentData }} - , {{= $parentData }} - , {{= $parentDataProperty }} -#}} - - -{{## def.iterateProperties: - {{? $ownProperties }} - {{=$dataProperties}} = {{=$dataProperties}} || Object.keys({{=$data}}); - for (var {{=$idx}}=0; {{=$idx}}<{{=$dataProperties}}.length; {{=$idx}}++) { - var {{=$key}} = {{=$dataProperties}}[{{=$idx}}]; - {{??}} - for (var {{=$key}} in {{=$data}}) { - {{?}} -#}} - - -{{## def.noPropertyInData: - {{=$useData}} === undefined - {{? $ownProperties }} - || !{{# def.isOwnProperty }} - {{?}} -#}} - - -{{## def.isOwnProperty: - Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($propertyKey)}}') -#}} diff --git a/node_modules/ajv/lib/dot/dependencies.jst b/node_modules/ajv/lib/dot/dependencies.jst deleted file mode 100644 index e4bddde..0000000 --- a/node_modules/ajv/lib/dot/dependencies.jst +++ /dev/null @@ -1,79 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.missing }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - - -{{## def.propertyInData: - {{=$data}}{{= it.util.getProperty($property) }} !== undefined - {{? $ownProperties }} - && Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($property)}}') - {{?}} -#}} - - -{{ - var $schemaDeps = {} - , $propertyDeps = {} - , $ownProperties = it.opts.ownProperties; - - for ($property in $schema) { - if ($property == '__proto__') continue; - var $sch = $schema[$property]; - var $deps = Array.isArray($sch) ? $propertyDeps : $schemaDeps; - $deps[$property] = $sch; - } -}} - -var {{=$errs}} = errors; - -{{ var $currentErrorPath = it.errorPath; }} - -var missing{{=$lvl}}; -{{ for (var $property in $propertyDeps) { }} - {{ $deps = $propertyDeps[$property]; }} - {{? $deps.length }} - if ({{# def.propertyInData }} - {{? $breakOnError }} - && ({{# def.checkMissingProperty:$deps }})) { - {{# def.errorMissingProperty:'dependencies' }} - {{??}} - ) { - {{~ $deps:$propertyKey }} - {{# def.allErrorsMissingProperty:'dependencies' }} - {{~}} - {{?}} - } {{# def.elseIfValid }} - {{?}} -{{ } }} - -{{ - it.errorPath = $currentErrorPath; - var $currentBaseId = $it.baseId; -}} - - -{{ for (var $property in $schemaDeps) { }} - {{ var $sch = $schemaDeps[$property]; }} - {{? {{# def.nonEmptySchema:$sch }} }} - {{=$nextValid}} = true; - - if ({{# def.propertyInData }}) { - {{ - $it.schema = $sch; - $it.schemaPath = $schemaPath + it.util.getProperty($property); - $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); - }} - - {{# def.insertSubschemaCode }} - } - - {{# def.ifResultValid }} - {{?}} -{{ } }} - -{{? $breakOnError }} - {{= $closingBraces }} - if ({{=$errs}} == errors) { -{{?}} diff --git a/node_modules/ajv/lib/dot/enum.jst b/node_modules/ajv/lib/dot/enum.jst deleted file mode 100644 index 357c2e8..0000000 --- a/node_modules/ajv/lib/dot/enum.jst +++ /dev/null @@ -1,30 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.$data }} - -{{ - var $i = 'i' + $lvl - , $vSchema = 'schema' + $lvl; -}} - -{{? !$isData }} - var {{=$vSchema}} = validate.schema{{=$schemaPath}}; -{{?}} -var {{=$valid}}; - -{{?$isData}}{{# def.check$dataIsArray }}{{?}} - -{{=$valid}} = false; - -for (var {{=$i}}=0; {{=$i}}<{{=$vSchema}}.length; {{=$i}}++) - if (equal({{=$data}}, {{=$vSchema}}[{{=$i}}])) { - {{=$valid}} = true; - break; - } - -{{? $isData }} } {{?}} - -{{# def.checkError:'enum' }} - -{{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/errors.def b/node_modules/ajv/lib/dot/errors.def deleted file mode 100644 index 5c5752c..0000000 --- a/node_modules/ajv/lib/dot/errors.def +++ /dev/null @@ -1,194 +0,0 @@ -{{# def.definitions }} - -{{## def._error:_rule: - {{ 'istanbul ignore else'; }} - {{? it.createErrors !== false }} - { - keyword: '{{= $errorKeyword || _rule }}' - , dataPath: (dataPath || '') + {{= it.errorPath }} - , schemaPath: {{=it.util.toQuotedString($errSchemaPath)}} - , params: {{# def._errorParams[_rule] }} - {{? it.opts.messages !== false }} - , message: {{# def._errorMessages[_rule] }} - {{?}} - {{? it.opts.verbose }} - , schema: {{# def._errorSchemas[_rule] }} - , parentSchema: validate.schema{{=it.schemaPath}} - , data: {{=$data}} - {{?}} - } - {{??}} - {} - {{?}} -#}} - - -{{## def._addError:_rule: - if (vErrors === null) vErrors = [err]; - else vErrors.push(err); - errors++; -#}} - - -{{## def.addError:_rule: - var err = {{# def._error:_rule }}; - {{# def._addError:_rule }} -#}} - - -{{## def.error:_rule: - {{# def.beginDefOut}} - {{# def._error:_rule }} - {{# def.storeDefOut:__err }} - - {{? !it.compositeRule && $breakOnError }} - {{ 'istanbul ignore if'; }} - {{? it.async }} - throw new ValidationError([{{=__err}}]); - {{??}} - validate.errors = [{{=__err}}]; - return false; - {{?}} - {{??}} - var err = {{=__err}}; - {{# def._addError:_rule }} - {{?}} -#}} - - -{{## def.extraError:_rule: - {{# def.addError:_rule}} - {{? !it.compositeRule && $breakOnError }} - {{ 'istanbul ignore if'; }} - {{? it.async }} - throw new ValidationError(vErrors); - {{??}} - validate.errors = vErrors; - return false; - {{?}} - {{?}} -#}} - - -{{## def.checkError:_rule: - if (!{{=$valid}}) { - {{# def.error:_rule }} - } -#}} - - -{{## def.resetErrors: - errors = {{=$errs}}; - if (vErrors !== null) { - if ({{=$errs}}) vErrors.length = {{=$errs}}; - else vErrors = null; - } -#}} - - -{{## def.concatSchema:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=$schema}}{{?}}#}} -{{## def.appendSchema:{{?$isData}}' + {{=$schemaValue}}{{??}}{{=$schemaValue}}'{{?}}#}} -{{## def.concatSchemaEQ:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=it.util.escapeQuotes($schema)}}{{?}}#}} - -{{## def._errorMessages = { - 'false schema': "'boolean schema is false'", - $ref: "'can\\\'t resolve reference {{=it.util.escapeQuotes($schema)}}'", - additionalItems: "'should NOT have more than {{=$schema.length}} items'", - additionalProperties: "'{{? it.opts._errorDataPathProperty }}is an invalid additional property{{??}}should NOT have additional properties{{?}}'", - anyOf: "'should match some schema in anyOf'", - const: "'should be equal to constant'", - contains: "'should contain a valid item'", - dependencies: "'should have {{? $deps.length == 1 }}property {{= it.util.escapeQuotes($deps[0]) }}{{??}}properties {{= it.util.escapeQuotes($deps.join(\", \")) }}{{?}} when property {{= it.util.escapeQuotes($property) }} is present'", - 'enum': "'should be equal to one of the allowed values'", - format: "'should match format \"{{#def.concatSchemaEQ}}\"'", - 'if': "'should match \"' + {{=$ifClause}} + '\" schema'", - _limit: "'should be {{=$opStr}} {{#def.appendSchema}}", - _exclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'", - _limitItems: "'should NOT have {{?$keyword=='maxItems'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} items'", - _limitLength: "'should NOT be {{?$keyword=='maxLength'}}longer{{??}}shorter{{?}} than {{#def.concatSchema}} characters'", - _limitProperties:"'should NOT have {{?$keyword=='maxProperties'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} properties'", - multipleOf: "'should be multiple of {{#def.appendSchema}}", - not: "'should NOT be valid'", - oneOf: "'should match exactly one schema in oneOf'", - pattern: "'should match pattern \"{{#def.concatSchemaEQ}}\"'", - propertyNames: "'property name \\'{{=$invalidName}}\\' is invalid'", - required: "'{{? it.opts._errorDataPathProperty }}is a required property{{??}}should have required property \\'{{=$missingProperty}}\\'{{?}}'", - type: "'should be {{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}'", - uniqueItems: "'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)'", - custom: "'should pass \"{{=$rule.keyword}}\" keyword validation'", - patternRequired: "'should have property matching pattern \\'{{=$missingPattern}}\\''", - switch: "'should pass \"switch\" keyword validation'", - _formatLimit: "'should be {{=$opStr}} \"{{#def.concatSchemaEQ}}\"'", - _formatExclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'" -} #}} - - -{{## def.schemaRefOrVal: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=$schema}}{{?}} #}} -{{## def.schemaRefOrQS: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}} - -{{## def._errorSchemas = { - 'false schema': "false", - $ref: "{{=it.util.toQuotedString($schema)}}", - additionalItems: "false", - additionalProperties: "false", - anyOf: "validate.schema{{=$schemaPath}}", - const: "validate.schema{{=$schemaPath}}", - contains: "validate.schema{{=$schemaPath}}", - dependencies: "validate.schema{{=$schemaPath}}", - 'enum': "validate.schema{{=$schemaPath}}", - format: "{{#def.schemaRefOrQS}}", - 'if': "validate.schema{{=$schemaPath}}", - _limit: "{{#def.schemaRefOrVal}}", - _exclusiveLimit: "validate.schema{{=$schemaPath}}", - _limitItems: "{{#def.schemaRefOrVal}}", - _limitLength: "{{#def.schemaRefOrVal}}", - _limitProperties:"{{#def.schemaRefOrVal}}", - multipleOf: "{{#def.schemaRefOrVal}}", - not: "validate.schema{{=$schemaPath}}", - oneOf: "validate.schema{{=$schemaPath}}", - pattern: "{{#def.schemaRefOrQS}}", - propertyNames: "validate.schema{{=$schemaPath}}", - required: "validate.schema{{=$schemaPath}}", - type: "validate.schema{{=$schemaPath}}", - uniqueItems: "{{#def.schemaRefOrVal}}", - custom: "validate.schema{{=$schemaPath}}", - patternRequired: "validate.schema{{=$schemaPath}}", - switch: "validate.schema{{=$schemaPath}}", - _formatLimit: "{{#def.schemaRefOrQS}}", - _formatExclusiveLimit: "validate.schema{{=$schemaPath}}" -} #}} - - -{{## def.schemaValueQS: {{?$isData}}{{=$schemaValue}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}} - -{{## def._errorParams = { - 'false schema': "{}", - $ref: "{ ref: '{{=it.util.escapeQuotes($schema)}}' }", - additionalItems: "{ limit: {{=$schema.length}} }", - additionalProperties: "{ additionalProperty: '{{=$additionalProperty}}' }", - anyOf: "{}", - const: "{ allowedValue: schema{{=$lvl}} }", - contains: "{}", - dependencies: "{ property: '{{= it.util.escapeQuotes($property) }}', missingProperty: '{{=$missingProperty}}', depsCount: {{=$deps.length}}, deps: '{{= it.util.escapeQuotes($deps.length==1 ? $deps[0] : $deps.join(\", \")) }}' }", - 'enum': "{ allowedValues: schema{{=$lvl}} }", - format: "{ format: {{#def.schemaValueQS}} }", - 'if': "{ failingKeyword: {{=$ifClause}} }", - _limit: "{ comparison: {{=$opExpr}}, limit: {{=$schemaValue}}, exclusive: {{=$exclusive}} }", - _exclusiveLimit: "{}", - _limitItems: "{ limit: {{=$schemaValue}} }", - _limitLength: "{ limit: {{=$schemaValue}} }", - _limitProperties:"{ limit: {{=$schemaValue}} }", - multipleOf: "{ multipleOf: {{=$schemaValue}} }", - not: "{}", - oneOf: "{ passingSchemas: {{=$passingSchemas}} }", - pattern: "{ pattern: {{#def.schemaValueQS}} }", - propertyNames: "{ propertyName: '{{=$invalidName}}' }", - required: "{ missingProperty: '{{=$missingProperty}}' }", - type: "{ type: '{{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}' }", - uniqueItems: "{ i: i, j: j }", - custom: "{ keyword: '{{=$rule.keyword}}' }", - patternRequired: "{ missingPattern: '{{=$missingPattern}}' }", - switch: "{ caseIndex: {{=$caseIndex}} }", - _formatLimit: "{ comparison: {{=$opExpr}}, limit: {{#def.schemaValueQS}}, exclusive: {{=$exclusive}} }", - _formatExclusiveLimit: "{}" -} #}} diff --git a/node_modules/ajv/lib/dot/format.jst b/node_modules/ajv/lib/dot/format.jst deleted file mode 100644 index 37f14da..0000000 --- a/node_modules/ajv/lib/dot/format.jst +++ /dev/null @@ -1,106 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} - -{{## def.skipFormat: - {{? $breakOnError }} if (true) { {{?}} - {{ return out; }} -#}} - -{{? it.opts.format === false }}{{# def.skipFormat }}{{?}} - - -{{# def.$data }} - - -{{## def.$dataCheckFormat: - {{# def.$dataNotType:'string' }} - ({{? $unknownFormats != 'ignore' }} - ({{=$schemaValue}} && !{{=$format}} - {{? $allowUnknown }} - && self._opts.unknownFormats.indexOf({{=$schemaValue}}) == -1 - {{?}}) || - {{?}} - ({{=$format}} && {{=$formatType}} == '{{=$ruleType}}' - && !(typeof {{=$format}} == 'function' - ? {{? it.async}} - (async{{=$lvl}} ? await {{=$format}}({{=$data}}) : {{=$format}}({{=$data}})) - {{??}} - {{=$format}}({{=$data}}) - {{?}} - : {{=$format}}.test({{=$data}})))) -#}} - -{{## def.checkFormat: - {{ - var $formatRef = 'formats' + it.util.getProperty($schema); - if ($isObject) $formatRef += '.validate'; - }} - {{? typeof $format == 'function' }} - {{=$formatRef}}({{=$data}}) - {{??}} - {{=$formatRef}}.test({{=$data}}) - {{?}} -#}} - - -{{ - var $unknownFormats = it.opts.unknownFormats - , $allowUnknown = Array.isArray($unknownFormats); -}} - -{{? $isData }} - {{ - var $format = 'format' + $lvl - , $isObject = 'isObject' + $lvl - , $formatType = 'formatType' + $lvl; - }} - var {{=$format}} = formats[{{=$schemaValue}}]; - var {{=$isObject}} = typeof {{=$format}} == 'object' - && !({{=$format}} instanceof RegExp) - && {{=$format}}.validate; - var {{=$formatType}} = {{=$isObject}} && {{=$format}}.type || 'string'; - if ({{=$isObject}}) { - {{? it.async}} - var async{{=$lvl}} = {{=$format}}.async; - {{?}} - {{=$format}} = {{=$format}}.validate; - } - if ({{# def.$dataCheckFormat }}) { -{{??}} - {{ var $format = it.formats[$schema]; }} - {{? !$format }} - {{? $unknownFormats == 'ignore' }} - {{ it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); }} - {{# def.skipFormat }} - {{?? $allowUnknown && $unknownFormats.indexOf($schema) >= 0 }} - {{# def.skipFormat }} - {{??}} - {{ throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); }} - {{?}} - {{?}} - {{ - var $isObject = typeof $format == 'object' - && !($format instanceof RegExp) - && $format.validate; - var $formatType = $isObject && $format.type || 'string'; - if ($isObject) { - var $async = $format.async === true; - $format = $format.validate; - } - }} - {{? $formatType != $ruleType }} - {{# def.skipFormat }} - {{?}} - {{? $async }} - {{ - if (!it.async) throw new Error('async format in sync schema'); - var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; - }} - if (!(await {{=$formatRef}}({{=$data}}))) { - {{??}} - if (!{{# def.checkFormat }}) { - {{?}} -{{?}} - {{# def.error:'format' }} - } {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/if.jst b/node_modules/ajv/lib/dot/if.jst deleted file mode 100644 index adb5036..0000000 --- a/node_modules/ajv/lib/dot/if.jst +++ /dev/null @@ -1,73 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - - -{{## def.validateIfClause:_clause: - {{ - $it.schema = it.schema['_clause']; - $it.schemaPath = it.schemaPath + '._clause'; - $it.errSchemaPath = it.errSchemaPath + '/_clause'; - }} - {{# def.insertSubschemaCode }} - {{=$valid}} = {{=$nextValid}}; - {{? $thenPresent && $elsePresent }} - {{ $ifClause = 'ifClause' + $lvl; }} - var {{=$ifClause}} = '_clause'; - {{??}} - {{ $ifClause = '\'_clause\''; }} - {{?}} -#}} - -{{ - var $thenSch = it.schema['then'] - , $elseSch = it.schema['else'] - , $thenPresent = $thenSch !== undefined && {{# def.nonEmptySchema:$thenSch }} - , $elsePresent = $elseSch !== undefined && {{# def.nonEmptySchema:$elseSch }} - , $currentBaseId = $it.baseId; -}} - -{{? $thenPresent || $elsePresent }} - {{ - var $ifClause; - $it.createErrors = false; - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - }} - var {{=$errs}} = errors; - var {{=$valid}} = true; - - {{# def.setCompositeRule }} - {{# def.insertSubschemaCode }} - {{ $it.createErrors = true; }} - {{# def.resetErrors }} - {{# def.resetCompositeRule }} - - {{? $thenPresent }} - if ({{=$nextValid}}) { - {{# def.validateIfClause:then }} - } - {{? $elsePresent }} - else { - {{?}} - {{??}} - if (!{{=$nextValid}}) { - {{?}} - - {{? $elsePresent }} - {{# def.validateIfClause:else }} - } - {{?}} - - if (!{{=$valid}}) { - {{# def.extraError:'if' }} - } - {{? $breakOnError }} else { {{?}} -{{??}} - {{? $breakOnError }} - if (true) { - {{?}} -{{?}} - diff --git a/node_modules/ajv/lib/dot/items.jst b/node_modules/ajv/lib/dot/items.jst deleted file mode 100644 index acc932a..0000000 --- a/node_modules/ajv/lib/dot/items.jst +++ /dev/null @@ -1,98 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - - -{{## def.validateItems:startFrom: - for (var {{=$idx}} = {{=startFrom}}; {{=$idx}} < {{=$data}}.length; {{=$idx}}++) { - {{ - $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); - var $passData = $data + '[' + $idx + ']'; - $it.dataPathArr[$dataNxt] = $idx; - }} - - {{# def.generateSubschemaCode }} - {{# def.optimizeValidate }} - - {{? $breakOnError }} - if (!{{=$nextValid}}) break; - {{?}} - } -#}} - -{{ - var $idx = 'i' + $lvl - , $dataNxt = $it.dataLevel = it.dataLevel + 1 - , $nextData = 'data' + $dataNxt - , $currentBaseId = it.baseId; -}} - -var {{=$errs}} = errors; -var {{=$valid}}; - -{{? Array.isArray($schema) }} - {{ /* 'items' is an array of schemas */}} - {{ var $additionalItems = it.schema.additionalItems; }} - {{? $additionalItems === false }} - {{=$valid}} = {{=$data}}.length <= {{= $schema.length }}; - {{ - var $currErrSchemaPath = $errSchemaPath; - $errSchemaPath = it.errSchemaPath + '/additionalItems'; - }} - {{# def.checkError:'additionalItems' }} - {{ $errSchemaPath = $currErrSchemaPath; }} - {{# def.elseIfValid}} - {{?}} - - {{~ $schema:$sch:$i }} - {{? {{# def.nonEmptySchema:$sch }} }} - {{=$nextValid}} = true; - - if ({{=$data}}.length > {{=$i}}) { - {{ - var $passData = $data + '[' + $i + ']'; - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); - $it.dataPathArr[$dataNxt] = $i; - }} - - {{# def.generateSubschemaCode }} - {{# def.optimizeValidate }} - } - - {{# def.ifResultValid }} - {{?}} - {{~}} - - {{? typeof $additionalItems == 'object' && {{# def.nonEmptySchema:$additionalItems }} }} - {{ - $it.schema = $additionalItems; - $it.schemaPath = it.schemaPath + '.additionalItems'; - $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; - }} - {{=$nextValid}} = true; - - if ({{=$data}}.length > {{= $schema.length }}) { - {{# def.validateItems: $schema.length }} - } - - {{# def.ifResultValid }} - {{?}} - -{{?? {{# def.nonEmptySchema:$schema }} }} - {{ /* 'items' is a single schema */}} - {{ - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - }} - {{# def.validateItems: 0 }} -{{?}} - -{{? $breakOnError }} - {{= $closingBraces }} - if ({{=$errs}} == errors) { -{{?}} diff --git a/node_modules/ajv/lib/dot/missing.def b/node_modules/ajv/lib/dot/missing.def deleted file mode 100644 index a73b9f9..0000000 --- a/node_modules/ajv/lib/dot/missing.def +++ /dev/null @@ -1,39 +0,0 @@ -{{## def.checkMissingProperty:_properties: - {{~ _properties:$propertyKey:$i }} - {{?$i}} || {{?}} - {{ - var $prop = it.util.getProperty($propertyKey) - , $useData = $data + $prop; - }} - ( ({{# def.noPropertyInData }}) && (missing{{=$lvl}} = {{= it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop) }}) ) - {{~}} -#}} - - -{{## def.errorMissingProperty:_error: - {{ - var $propertyPath = 'missing' + $lvl - , $missingProperty = '\' + ' + $propertyPath + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.opts.jsonPointers - ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) - : $currentErrorPath + ' + ' + $propertyPath; - } - }} - {{# def.error:_error }} -#}} - - -{{## def.allErrorsMissingProperty:_error: - {{ - var $prop = it.util.getProperty($propertyKey) - , $missingProperty = it.util.escapeQuotes($propertyKey) - , $useData = $data + $prop; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); - } - }} - if ({{# def.noPropertyInData }}) { - {{# def.addError:_error }} - } -#}} diff --git a/node_modules/ajv/lib/dot/multipleOf.jst b/node_modules/ajv/lib/dot/multipleOf.jst deleted file mode 100644 index 6d88a45..0000000 --- a/node_modules/ajv/lib/dot/multipleOf.jst +++ /dev/null @@ -1,22 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.$data }} - -{{# def.numberKeyword }} - -var division{{=$lvl}}; -if ({{?$isData}} - {{=$schemaValue}} !== undefined && ( - typeof {{=$schemaValue}} != 'number' || - {{?}} - (division{{=$lvl}} = {{=$data}} / {{=$schemaValue}}, - {{? it.opts.multipleOfPrecision }} - Math.abs(Math.round(division{{=$lvl}}) - division{{=$lvl}}) > 1e-{{=it.opts.multipleOfPrecision}} - {{??}} - division{{=$lvl}} !== parseInt(division{{=$lvl}}) - {{?}} - ) - {{?$isData}} ) {{?}} ) { - {{# def.error:'multipleOf' }} -} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/not.jst b/node_modules/ajv/lib/dot/not.jst deleted file mode 100644 index e03185a..0000000 --- a/node_modules/ajv/lib/dot/not.jst +++ /dev/null @@ -1,43 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - -{{? {{# def.nonEmptySchema:$schema }} }} - {{ - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - }} - - var {{=$errs}} = errors; - - {{# def.setCompositeRule }} - - {{ - $it.createErrors = false; - var $allErrorsOption; - if ($it.opts.allErrors) { - $allErrorsOption = $it.opts.allErrors; - $it.opts.allErrors = false; - } - }} - {{= it.validate($it) }} - {{ - $it.createErrors = true; - if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; - }} - - {{# def.resetCompositeRule }} - - if ({{=$nextValid}}) { - {{# def.error:'not' }} - } else { - {{# def.resetErrors }} - {{? it.opts.allErrors }} } {{?}} -{{??}} - {{# def.addError:'not' }} - {{? $breakOnError}} - if (false) { - {{?}} -{{?}} diff --git a/node_modules/ajv/lib/dot/oneOf.jst b/node_modules/ajv/lib/dot/oneOf.jst deleted file mode 100644 index bcce2c6..0000000 --- a/node_modules/ajv/lib/dot/oneOf.jst +++ /dev/null @@ -1,54 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - -{{ - var $currentBaseId = $it.baseId - , $prevValid = 'prevValid' + $lvl - , $passingSchemas = 'passingSchemas' + $lvl; -}} - -var {{=$errs}} = errors - , {{=$prevValid}} = false - , {{=$valid}} = false - , {{=$passingSchemas}} = null; - -{{# def.setCompositeRule }} - -{{~ $schema:$sch:$i }} - {{? {{# def.nonEmptySchema:$sch }} }} - {{ - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - }} - - {{# def.insertSubschemaCode }} - {{??}} - var {{=$nextValid}} = true; - {{?}} - - {{? $i }} - if ({{=$nextValid}} && {{=$prevValid}}) { - {{=$valid}} = false; - {{=$passingSchemas}} = [{{=$passingSchemas}}, {{=$i}}]; - } else { - {{ $closingBraces += '}'; }} - {{?}} - - if ({{=$nextValid}}) { - {{=$valid}} = {{=$prevValid}} = true; - {{=$passingSchemas}} = {{=$i}}; - } -{{~}} - -{{# def.resetCompositeRule }} - -{{= $closingBraces }} - -if (!{{=$valid}}) { - {{# def.extraError:'oneOf' }} -} else { - {{# def.resetErrors }} -{{? it.opts.allErrors }} } {{?}} diff --git a/node_modules/ajv/lib/dot/pattern.jst b/node_modules/ajv/lib/dot/pattern.jst deleted file mode 100644 index 3a37ef6..0000000 --- a/node_modules/ajv/lib/dot/pattern.jst +++ /dev/null @@ -1,14 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.$data }} - -{{ - var $regexp = $isData - ? '(new RegExp(' + $schemaValue + '))' - : it.usePattern($schema); -}} - -if ({{# def.$dataNotType:'string' }} !{{=$regexp}}.test({{=$data}}) ) { - {{# def.error:'pattern' }} -} {{? $breakOnError }} else { {{?}} diff --git a/node_modules/ajv/lib/dot/properties.jst b/node_modules/ajv/lib/dot/properties.jst deleted file mode 100644 index 5cebb9b..0000000 --- a/node_modules/ajv/lib/dot/properties.jst +++ /dev/null @@ -1,245 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - - -{{## def.validateAdditional: - {{ /* additionalProperties is schema */ - $it.schema = $aProperties; - $it.schemaPath = it.schemaPath + '.additionalProperties'; - $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; - $it.errorPath = it.opts._errorDataPathProperty - ? it.errorPath - : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - var $passData = $data + '[' + $key + ']'; - $it.dataPathArr[$dataNxt] = $key; - }} - - {{# def.generateSubschemaCode }} - {{# def.optimizeValidate }} -#}} - - -{{ - var $key = 'key' + $lvl - , $idx = 'idx' + $lvl - , $dataNxt = $it.dataLevel = it.dataLevel + 1 - , $nextData = 'data' + $dataNxt - , $dataProperties = 'dataProperties' + $lvl; - - var $schemaKeys = Object.keys($schema || {}).filter(notProto) - , $pProperties = it.schema.patternProperties || {} - , $pPropertyKeys = Object.keys($pProperties).filter(notProto) - , $aProperties = it.schema.additionalProperties - , $someProperties = $schemaKeys.length || $pPropertyKeys.length - , $noAdditional = $aProperties === false - , $additionalIsSchema = typeof $aProperties == 'object' - && Object.keys($aProperties).length - , $removeAdditional = it.opts.removeAdditional - , $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional - , $ownProperties = it.opts.ownProperties - , $currentBaseId = it.baseId; - - var $required = it.schema.required; - if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { - var $requiredHash = it.util.toHash($required); - } - - function notProto(p) { return p !== '__proto__'; } -}} - - -var {{=$errs}} = errors; -var {{=$nextValid}} = true; -{{? $ownProperties }} - var {{=$dataProperties}} = undefined; -{{?}} - -{{? $checkAdditional }} - {{# def.iterateProperties }} - {{? $someProperties }} - var isAdditional{{=$lvl}} = !(false - {{? $schemaKeys.length }} - {{? $schemaKeys.length > 8 }} - || validate.schema{{=$schemaPath}}.hasOwnProperty({{=$key}}) - {{??}} - {{~ $schemaKeys:$propertyKey }} - || {{=$key}} == {{= it.util.toQuotedString($propertyKey) }} - {{~}} - {{?}} - {{?}} - {{? $pPropertyKeys.length }} - {{~ $pPropertyKeys:$pProperty:$i }} - || {{= it.usePattern($pProperty) }}.test({{=$key}}) - {{~}} - {{?}} - ); - - if (isAdditional{{=$lvl}}) { - {{?}} - {{? $removeAdditional == 'all' }} - delete {{=$data}}[{{=$key}}]; - {{??}} - {{ - var $currentErrorPath = it.errorPath; - var $additionalProperty = '\' + ' + $key + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - } - }} - {{? $noAdditional }} - {{? $removeAdditional }} - delete {{=$data}}[{{=$key}}]; - {{??}} - {{=$nextValid}} = false; - {{ - var $currErrSchemaPath = $errSchemaPath; - $errSchemaPath = it.errSchemaPath + '/additionalProperties'; - }} - {{# def.error:'additionalProperties' }} - {{ $errSchemaPath = $currErrSchemaPath; }} - {{? $breakOnError }} break; {{?}} - {{?}} - {{?? $additionalIsSchema }} - {{? $removeAdditional == 'failing' }} - var {{=$errs}} = errors; - {{# def.setCompositeRule }} - - {{# def.validateAdditional }} - - if (!{{=$nextValid}}) { - errors = {{=$errs}}; - if (validate.errors !== null) { - if (errors) validate.errors.length = errors; - else validate.errors = null; - } - delete {{=$data}}[{{=$key}}]; - } - - {{# def.resetCompositeRule }} - {{??}} - {{# def.validateAdditional }} - {{? $breakOnError }} if (!{{=$nextValid}}) break; {{?}} - {{?}} - {{?}} - {{ it.errorPath = $currentErrorPath; }} - {{?}} - {{? $someProperties }} - } - {{?}} - } - - {{# def.ifResultValid }} -{{?}} - -{{ var $useDefaults = it.opts.useDefaults && !it.compositeRule; }} - -{{? $schemaKeys.length }} - {{~ $schemaKeys:$propertyKey }} - {{ var $sch = $schema[$propertyKey]; }} - - {{? {{# def.nonEmptySchema:$sch}} }} - {{ - var $prop = it.util.getProperty($propertyKey) - , $passData = $data + $prop - , $hasDefault = $useDefaults && $sch.default !== undefined; - $it.schema = $sch; - $it.schemaPath = $schemaPath + $prop; - $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); - $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); - $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); - }} - - {{# def.generateSubschemaCode }} - - {{? {{# def.willOptimize }} }} - {{ - $code = {{# def._optimizeValidate }}; - var $useData = $passData; - }} - {{??}} - {{ var $useData = $nextData; }} - var {{=$nextData}} = {{=$passData}}; - {{?}} - - {{? $hasDefault }} - {{= $code }} - {{??}} - {{? $requiredHash && $requiredHash[$propertyKey] }} - if ({{# def.noPropertyInData }}) { - {{=$nextValid}} = false; - {{ - var $currentErrorPath = it.errorPath - , $currErrSchemaPath = $errSchemaPath - , $missingProperty = it.util.escapeQuotes($propertyKey); - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); - } - $errSchemaPath = it.errSchemaPath + '/required'; - }} - {{# def.error:'required' }} - {{ $errSchemaPath = $currErrSchemaPath; }} - {{ it.errorPath = $currentErrorPath; }} - } else { - {{??}} - {{? $breakOnError }} - if ({{# def.noPropertyInData }}) { - {{=$nextValid}} = true; - } else { - {{??}} - if ({{=$useData}} !== undefined - {{? $ownProperties }} - && {{# def.isOwnProperty }} - {{?}} - ) { - {{?}} - {{?}} - - {{= $code }} - } - {{?}} {{ /* $hasDefault */ }} - {{?}} {{ /* def.nonEmptySchema */ }} - - {{# def.ifResultValid }} - {{~}} -{{?}} - -{{? $pPropertyKeys.length }} - {{~ $pPropertyKeys:$pProperty }} - {{ var $sch = $pProperties[$pProperty]; }} - - {{? {{# def.nonEmptySchema:$sch}} }} - {{ - $it.schema = $sch; - $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); - $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' - + it.util.escapeFragment($pProperty); - }} - - {{# def.iterateProperties }} - if ({{= it.usePattern($pProperty) }}.test({{=$key}})) { - {{ - $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - var $passData = $data + '[' + $key + ']'; - $it.dataPathArr[$dataNxt] = $key; - }} - - {{# def.generateSubschemaCode }} - {{# def.optimizeValidate }} - - {{? $breakOnError }} if (!{{=$nextValid}}) break; {{?}} - } - {{? $breakOnError }} else {{=$nextValid}} = true; {{?}} - } - - {{# def.ifResultValid }} - {{?}} {{ /* def.nonEmptySchema */ }} - {{~}} -{{?}} - - -{{? $breakOnError }} - {{= $closingBraces }} - if ({{=$errs}} == errors) { -{{?}} diff --git a/node_modules/ajv/lib/dot/propertyNames.jst b/node_modules/ajv/lib/dot/propertyNames.jst deleted file mode 100644 index d456cca..0000000 --- a/node_modules/ajv/lib/dot/propertyNames.jst +++ /dev/null @@ -1,52 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.setupNextLevel }} - -var {{=$errs}} = errors; - -{{? {{# def.nonEmptySchema:$schema }} }} - {{ - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - }} - - {{ - var $key = 'key' + $lvl - , $idx = 'idx' + $lvl - , $i = 'i' + $lvl - , $invalidName = '\' + ' + $key + ' + \'' - , $dataNxt = $it.dataLevel = it.dataLevel + 1 - , $nextData = 'data' + $dataNxt - , $dataProperties = 'dataProperties' + $lvl - , $ownProperties = it.opts.ownProperties - , $currentBaseId = it.baseId; - }} - - {{? $ownProperties }} - var {{=$dataProperties}} = undefined; - {{?}} - {{# def.iterateProperties }} - var startErrs{{=$lvl}} = errors; - - {{ var $passData = $key; }} - {{# def.setCompositeRule }} - {{# def.generateSubschemaCode }} - {{# def.optimizeValidate }} - {{# def.resetCompositeRule }} - - if (!{{=$nextValid}}) { - for (var {{=$i}}=startErrs{{=$lvl}}; {{=$i}}= it.opts.loopRequired - , $ownProperties = it.opts.ownProperties; - }} - - {{? $breakOnError }} - var missing{{=$lvl}}; - {{? $loopRequired }} - {{# def.setupLoop }} - var {{=$valid}} = true; - - {{?$isData}}{{# def.check$dataIsArray }}{{?}} - - for (var {{=$i}} = 0; {{=$i}} < {{=$vSchema}}.length; {{=$i}}++) { - {{=$valid}} = {{=$data}}[{{=$vSchema}}[{{=$i}}]] !== undefined - {{? $ownProperties }} - && {{# def.isRequiredOwnProperty }} - {{?}}; - if (!{{=$valid}}) break; - } - - {{? $isData }} } {{?}} - - {{# def.checkError:'required' }} - else { - {{??}} - if ({{# def.checkMissingProperty:$required }}) { - {{# def.errorMissingProperty:'required' }} - } else { - {{?}} - {{??}} - {{? $loopRequired }} - {{# def.setupLoop }} - {{? $isData }} - if ({{=$vSchema}} && !Array.isArray({{=$vSchema}})) { - {{# def.addError:'required' }} - } else if ({{=$vSchema}} !== undefined) { - {{?}} - - for (var {{=$i}} = 0; {{=$i}} < {{=$vSchema}}.length; {{=$i}}++) { - if ({{=$data}}[{{=$vSchema}}[{{=$i}}]] === undefined - {{? $ownProperties }} - || !{{# def.isRequiredOwnProperty }} - {{?}}) { - {{# def.addError:'required' }} - } - } - - {{? $isData }} } {{?}} - {{??}} - {{~ $required:$propertyKey }} - {{# def.allErrorsMissingProperty:'required' }} - {{~}} - {{?}} - {{?}} - - {{ it.errorPath = $currentErrorPath; }} - -{{?? $breakOnError }} - if (true) { -{{?}} diff --git a/node_modules/ajv/lib/dot/uniqueItems.jst b/node_modules/ajv/lib/dot/uniqueItems.jst deleted file mode 100644 index e69b830..0000000 --- a/node_modules/ajv/lib/dot/uniqueItems.jst +++ /dev/null @@ -1,62 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.setupKeyword }} -{{# def.$data }} - - -{{? ($schema || $isData) && it.opts.uniqueItems !== false }} - {{? $isData }} - var {{=$valid}}; - if ({{=$schemaValue}} === false || {{=$schemaValue}} === undefined) - {{=$valid}} = true; - else if (typeof {{=$schemaValue}} != 'boolean') - {{=$valid}} = false; - else { - {{?}} - - var i = {{=$data}}.length - , {{=$valid}} = true - , j; - if (i > 1) { - {{ - var $itemType = it.schema.items && it.schema.items.type - , $typeIsArray = Array.isArray($itemType); - }} - {{? !$itemType || $itemType == 'object' || $itemType == 'array' || - ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0)) }} - outer: - for (;i--;) { - for (j = i; j--;) { - if (equal({{=$data}}[i], {{=$data}}[j])) { - {{=$valid}} = false; - break outer; - } - } - } - {{??}} - var itemIndices = {}, item; - for (;i--;) { - var item = {{=$data}}[i]; - {{ var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); }} - if ({{= it.util[$method]($itemType, 'item', it.opts.strictNumbers, true) }}) continue; - {{? $typeIsArray}} - if (typeof item == 'string') item = '"' + item; - {{?}} - if (typeof itemIndices[item] == 'number') { - {{=$valid}} = false; - j = itemIndices[item]; - break; - } - itemIndices[item] = i; - } - {{?}} - } - - {{? $isData }} } {{?}} - - if (!{{=$valid}}) { - {{# def.error:'uniqueItems' }} - } {{? $breakOnError }} else { {{?}} -{{??}} - {{? $breakOnError }} if (true) { {{?}} -{{?}} diff --git a/node_modules/ajv/lib/dot/validate.jst b/node_modules/ajv/lib/dot/validate.jst deleted file mode 100644 index 32087e7..0000000 --- a/node_modules/ajv/lib/dot/validate.jst +++ /dev/null @@ -1,276 +0,0 @@ -{{# def.definitions }} -{{# def.errors }} -{{# def.defaults }} -{{# def.coerce }} - -{{ /** - * schema compilation (render) time: - * it = { schema, RULES, _validate, opts } - * it.validate - this template function, - * it is used recursively to generate code for subschemas - * - * runtime: - * "validate" is a variable name to which this function will be assigned - * validateRef etc. are defined in the parent scope in index.js - */ }} - -{{ - var $async = it.schema.$async === true - , $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref') - , $id = it.self._getId(it.schema); -}} - -{{ - if (it.opts.strictKeywords) { - var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); - if ($unknownKwd) { - var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; - if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); - else throw new Error($keywordsMsg); - } - } -}} - -{{? it.isTop }} - var validate = {{?$async}}{{it.async = true;}}async {{?}}function(data, dataPath, parentData, parentDataProperty, rootData) { - 'use strict'; - {{? $id && (it.opts.sourceCode || it.opts.processCode) }} - {{= '/\*# sourceURL=' + $id + ' */' }} - {{?}} -{{?}} - -{{? typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref) }} - {{ var $keyword = 'false schema'; }} - {{# def.setupKeyword }} - {{? it.schema === false}} - {{? it.isTop}} - {{ $breakOnError = true; }} - {{??}} - var {{=$valid}} = false; - {{?}} - {{# def.error:'false schema' }} - {{??}} - {{? it.isTop}} - {{? $async }} - return data; - {{??}} - validate.errors = null; - return true; - {{?}} - {{??}} - var {{=$valid}} = true; - {{?}} - {{?}} - - {{? it.isTop}} - }; - return validate; - {{?}} - - {{ return out; }} -{{?}} - - -{{? it.isTop }} - {{ - var $top = it.isTop - , $lvl = it.level = 0 - , $dataLvl = it.dataLevel = 0 - , $data = 'data'; - it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); - it.baseId = it.baseId || it.rootId; - delete it.isTop; - - it.dataPathArr = [""]; - - if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { - var $defaultMsg = 'default is ignored in the schema root'; - if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); - else throw new Error($defaultMsg); - } - }} - - var vErrors = null; {{ /* don't edit, used in replace */ }} - var errors = 0; {{ /* don't edit, used in replace */ }} - if (rootData === undefined) rootData = data; {{ /* don't edit, used in replace */ }} -{{??}} - {{ - var $lvl = it.level - , $dataLvl = it.dataLevel - , $data = 'data' + ($dataLvl || ''); - - if ($id) it.baseId = it.resolve.url(it.baseId, $id); - - if ($async && !it.async) throw new Error('async schema in sync schema'); - }} - - var errs_{{=$lvl}} = errors; -{{?}} - -{{ - var $valid = 'valid' + $lvl - , $breakOnError = !it.opts.allErrors - , $closingBraces1 = '' - , $closingBraces2 = ''; - - var $errorKeyword; - var $typeSchema = it.schema.type - , $typeIsArray = Array.isArray($typeSchema); - - if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { - if ($typeIsArray) { - if ($typeSchema.indexOf('null') == -1) - $typeSchema = $typeSchema.concat('null'); - } else if ($typeSchema != 'null') { - $typeSchema = [$typeSchema, 'null']; - $typeIsArray = true; - } - } - - if ($typeIsArray && $typeSchema.length == 1) { - $typeSchema = $typeSchema[0]; - $typeIsArray = false; - } -}} - -{{## def.checkType: - {{ - var $schemaPath = it.schemaPath + '.type' - , $errSchemaPath = it.errSchemaPath + '/type' - , $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; - }} - - if ({{= it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true) }}) { -#}} - -{{? it.schema.$ref && $refKeywords }} - {{? it.opts.extendRefs == 'fail' }} - {{ throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); }} - {{?? it.opts.extendRefs !== true }} - {{ - $refKeywords = false; - it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); - }} - {{?}} -{{?}} - -{{? it.schema.$comment && it.opts.$comment }} - {{= it.RULES.all.$comment.code(it, '$comment') }} -{{?}} - -{{? $typeSchema }} - {{? it.opts.coerceTypes }} - {{ var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); }} - {{?}} - - {{ var $rulesGroup = it.RULES.types[$typeSchema]; }} - {{? $coerceToTypes || $typeIsArray || $rulesGroup === true || - ($rulesGroup && !$shouldUseGroup($rulesGroup)) }} - {{ - var $schemaPath = it.schemaPath + '.type' - , $errSchemaPath = it.errSchemaPath + '/type'; - }} - {{# def.checkType }} - {{? $coerceToTypes }} - {{# def.coerceType }} - {{??}} - {{# def.error:'type' }} - {{?}} - } - {{?}} -{{?}} - - -{{? it.schema.$ref && !$refKeywords }} - {{= it.RULES.all.$ref.code(it, '$ref') }} - {{? $breakOnError }} - } - if (errors === {{?$top}}0{{??}}errs_{{=$lvl}}{{?}}) { - {{ $closingBraces2 += '}'; }} - {{?}} -{{??}} - {{~ it.RULES:$rulesGroup }} - {{? $shouldUseGroup($rulesGroup) }} - {{? $rulesGroup.type }} - if ({{= it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers) }}) { - {{?}} - {{? it.opts.useDefaults }} - {{? $rulesGroup.type == 'object' && it.schema.properties }} - {{# def.defaultProperties }} - {{?? $rulesGroup.type == 'array' && Array.isArray(it.schema.items) }} - {{# def.defaultItems }} - {{?}} - {{?}} - {{~ $rulesGroup.rules:$rule }} - {{? $shouldUseRule($rule) }} - {{ var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); }} - {{? $code }} - {{= $code }} - {{? $breakOnError }} - {{ $closingBraces1 += '}'; }} - {{?}} - {{?}} - {{?}} - {{~}} - {{? $breakOnError }} - {{= $closingBraces1 }} - {{ $closingBraces1 = ''; }} - {{?}} - {{? $rulesGroup.type }} - } - {{? $typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes }} - else { - {{ - var $schemaPath = it.schemaPath + '.type' - , $errSchemaPath = it.errSchemaPath + '/type'; - }} - {{# def.error:'type' }} - } - {{?}} - {{?}} - - {{? $breakOnError }} - if (errors === {{?$top}}0{{??}}errs_{{=$lvl}}{{?}}) { - {{ $closingBraces2 += '}'; }} - {{?}} - {{?}} - {{~}} -{{?}} - -{{? $breakOnError }} {{= $closingBraces2 }} {{?}} - -{{? $top }} - {{? $async }} - if (errors === 0) return data; {{ /* don't edit, used in replace */ }} - else throw new ValidationError(vErrors); {{ /* don't edit, used in replace */ }} - {{??}} - validate.errors = vErrors; {{ /* don't edit, used in replace */ }} - return errors === 0; {{ /* don't edit, used in replace */ }} - {{?}} - }; - - return validate; -{{??}} - var {{=$valid}} = errors === errs_{{=$lvl}}; -{{?}} - -{{ - function $shouldUseGroup($rulesGroup) { - var rules = $rulesGroup.rules; - for (var i=0; i < rules.length; i++) - if ($shouldUseRule(rules[i])) - return true; - } - - function $shouldUseRule($rule) { - return it.schema[$rule.keyword] !== undefined || - ($rule.implements && $ruleImplementsSomeKeyword($rule)); - } - - function $ruleImplementsSomeKeyword($rule) { - var impl = $rule.implements; - for (var i=0; i < impl.length; i++) - if (it.schema[impl[i]] !== undefined) - return true; - } -}} diff --git a/node_modules/ajv/lib/dotjs/README.md b/node_modules/ajv/lib/dotjs/README.md deleted file mode 100644 index 4d99484..0000000 --- a/node_modules/ajv/lib/dotjs/README.md +++ /dev/null @@ -1,3 +0,0 @@ -These files are compiled dot templates from dot folder. - -Do NOT edit them directly, edit the templates and run `npm run build` from main ajv folder. diff --git a/node_modules/ajv/lib/dotjs/_limit.js b/node_modules/ajv/lib/dotjs/_limit.js deleted file mode 100644 index 05a1979..0000000 --- a/node_modules/ajv/lib/dotjs/_limit.js +++ /dev/null @@ -1,163 +0,0 @@ -'use strict'; -module.exports = function generate__limit(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - var $isMax = $keyword == 'maximum', - $exclusiveKeyword = $isMax ? 'exclusiveMaximum' : 'exclusiveMinimum', - $schemaExcl = it.schema[$exclusiveKeyword], - $isDataExcl = it.opts.$data && $schemaExcl && $schemaExcl.$data, - $op = $isMax ? '<' : '>', - $notOp = $isMax ? '>' : '<', - $errorKeyword = undefined; - if (!($isData || typeof $schema == 'number' || $schema === undefined)) { - throw new Error($keyword + ' must be number'); - } - if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) { - throw new Error($exclusiveKeyword + ' must be number or boolean'); - } - if ($isDataExcl) { - var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr), - $exclusive = 'exclusive' + $lvl, - $exclType = 'exclType' + $lvl, - $exclIsNumber = 'exclIsNumber' + $lvl, - $opExpr = 'op' + $lvl, - $opStr = '\' + ' + $opExpr + ' + \''; - out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; '; - $schemaValueExcl = 'schemaExcl' + $lvl; - out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \'boolean\' && ' + ($exclType) + ' != \'undefined\' && ' + ($exclType) + ' != \'number\') { '; - var $errorKeyword = $exclusiveKeyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_exclusiveLimit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'' + ($exclusiveKeyword) + ' should be boolean\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' ' + ($exclType) + ' == \'number\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \'' + ($op) + '\' : \'' + ($op) + '=\'; '; - if ($schema === undefined) { - $errorKeyword = $exclusiveKeyword; - $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; - $schemaValue = $schemaValueExcl; - $isData = $isDataExcl; - } - } else { - var $exclIsNumber = typeof $schemaExcl == 'number', - $opStr = $op; - if ($exclIsNumber && $isData) { - var $opExpr = '\'' + $opStr + '\''; - out += ' if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { '; - } else { - if ($exclIsNumber && $schema === undefined) { - $exclusive = true; - $errorKeyword = $exclusiveKeyword; - $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; - $schemaValue = $schemaExcl; - $notOp += '='; - } else { - if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema); - if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) { - $exclusive = true; - $errorKeyword = $exclusiveKeyword; - $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword; - $notOp += '='; - } else { - $exclusive = false; - $opStr += '='; - } - } - var $opExpr = '\'' + $opStr + '\''; - out += ' if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { '; - } - } - $errorKeyword = $errorKeyword || $keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_limit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be ' + ($opStr) + ' '; - if ($isData) { - out += '\' + ' + ($schemaValue); - } else { - out += '' + ($schemaValue) + '\''; - } - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/_limitItems.js b/node_modules/ajv/lib/dotjs/_limitItems.js deleted file mode 100644 index e092a55..0000000 --- a/node_modules/ajv/lib/dotjs/_limitItems.js +++ /dev/null @@ -1,80 +0,0 @@ -'use strict'; -module.exports = function generate__limitItems(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!($isData || typeof $schema == 'number')) { - throw new Error($keyword + ' must be number'); - } - var $op = $keyword == 'maxItems' ? '>' : '<'; - out += 'if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' ' + ($data) + '.length ' + ($op) + ' ' + ($schemaValue) + ') { '; - var $errorKeyword = $keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_limitItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT have '; - if ($keyword == 'maxItems') { - out += 'more'; - } else { - out += 'fewer'; - } - out += ' than '; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + ($schema); - } - out += ' items\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/_limitLength.js b/node_modules/ajv/lib/dotjs/_limitLength.js deleted file mode 100644 index ecbd3fe..0000000 --- a/node_modules/ajv/lib/dotjs/_limitLength.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; -module.exports = function generate__limitLength(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!($isData || typeof $schema == 'number')) { - throw new Error($keyword + ' must be number'); - } - var $op = $keyword == 'maxLength' ? '>' : '<'; - out += 'if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - if (it.opts.unicode === false) { - out += ' ' + ($data) + '.length '; - } else { - out += ' ucs2length(' + ($data) + ') '; - } - out += ' ' + ($op) + ' ' + ($schemaValue) + ') { '; - var $errorKeyword = $keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_limitLength') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT be '; - if ($keyword == 'maxLength') { - out += 'longer'; - } else { - out += 'shorter'; - } - out += ' than '; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + ($schema); - } - out += ' characters\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/_limitProperties.js b/node_modules/ajv/lib/dotjs/_limitProperties.js deleted file mode 100644 index d232755..0000000 --- a/node_modules/ajv/lib/dotjs/_limitProperties.js +++ /dev/null @@ -1,80 +0,0 @@ -'use strict'; -module.exports = function generate__limitProperties(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!($isData || typeof $schema == 'number')) { - throw new Error($keyword + ' must be number'); - } - var $op = $keyword == 'maxProperties' ? '>' : '<'; - out += 'if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || '; - } - out += ' Object.keys(' + ($data) + ').length ' + ($op) + ' ' + ($schemaValue) + ') { '; - var $errorKeyword = $keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || '_limitProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schemaValue) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT have '; - if ($keyword == 'maxProperties') { - out += 'more'; - } else { - out += 'fewer'; - } - out += ' than '; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + ($schema); - } - out += ' properties\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/allOf.js b/node_modules/ajv/lib/dotjs/allOf.js deleted file mode 100644 index fb8c2e4..0000000 --- a/node_modules/ajv/lib/dotjs/allOf.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; -module.exports = function generate_allOf(it, $keyword, $ruleType) { - var out = ' '; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $currentBaseId = $it.baseId, - $allSchemasEmpty = true; - var arr1 = $schema; - if (arr1) { - var $sch, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $sch = arr1[$i += 1]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - $allSchemasEmpty = false; - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - } - if ($breakOnError) { - if ($allSchemasEmpty) { - out += ' if (true) { '; - } else { - out += ' ' + ($closingBraces.slice(0, -1)) + ' '; - } - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/anyOf.js b/node_modules/ajv/lib/dotjs/anyOf.js deleted file mode 100644 index 0600a9d..0000000 --- a/node_modules/ajv/lib/dotjs/anyOf.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; -module.exports = function generate_anyOf(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $noEmptySchema = $schema.every(function($sch) { - return (it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)); - }); - if ($noEmptySchema) { - var $currentBaseId = $it.baseId; - out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = false; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - var arr1 = $schema; - if (arr1) { - var $sch, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $sch = arr1[$i += 1]; - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - out += ' ' + ($valid) + ' = ' + ($valid) + ' || ' + ($nextValid) + '; if (!' + ($valid) + ') { '; - $closingBraces += '}'; - } - } - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' ' + ($closingBraces) + ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('anyOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'should match some schema in anyOf\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError(vErrors); '; - } else { - out += ' validate.errors = vErrors; return false; '; - } - } - out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; - if (it.opts.allErrors) { - out += ' } '; - } - } else { - if ($breakOnError) { - out += ' if (true) { '; - } - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/comment.js b/node_modules/ajv/lib/dotjs/comment.js deleted file mode 100644 index dd66bb8..0000000 --- a/node_modules/ajv/lib/dotjs/comment.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; -module.exports = function generate_comment(it, $keyword, $ruleType) { - var out = ' '; - var $schema = it.schema[$keyword]; - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $comment = it.util.toQuotedString($schema); - if (it.opts.$comment === true) { - out += ' console.log(' + ($comment) + ');'; - } else if (typeof it.opts.$comment == 'function') { - out += ' self._opts.$comment(' + ($comment) + ', ' + (it.util.toQuotedString($errSchemaPath)) + ', validate.root.schema);'; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/const.js b/node_modules/ajv/lib/dotjs/const.js deleted file mode 100644 index 15b7c61..0000000 --- a/node_modules/ajv/lib/dotjs/const.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; -module.exports = function generate_const(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!$isData) { - out += ' var schema' + ($lvl) + ' = validate.schema' + ($schemaPath) + ';'; - } - out += 'var ' + ($valid) + ' = equal(' + ($data) + ', schema' + ($lvl) + '); if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('const') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValue: schema' + ($lvl) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be equal to constant\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' }'; - if ($breakOnError) { - out += ' else { '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/contains.js b/node_modules/ajv/lib/dotjs/contains.js deleted file mode 100644 index 7d76300..0000000 --- a/node_modules/ajv/lib/dotjs/contains.js +++ /dev/null @@ -1,81 +0,0 @@ -'use strict'; -module.exports = function generate_contains(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $idx = 'i' + $lvl, - $dataNxt = $it.dataLevel = it.dataLevel + 1, - $nextData = 'data' + $dataNxt, - $currentBaseId = it.baseId, - $nonEmptySchema = (it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all)); - out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; - if ($nonEmptySchema) { - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - out += ' var ' + ($nextValid) + ' = false; for (var ' + ($idx) + ' = 0; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; - $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); - var $passData = $data + '[' + $idx + ']'; - $it.dataPathArr[$dataNxt] = $idx; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - out += ' if (' + ($nextValid) + ') break; } '; - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' ' + ($closingBraces) + ' if (!' + ($nextValid) + ') {'; - } else { - out += ' if (' + ($data) + '.length == 0) {'; - } - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('contains') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'should contain a valid item\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else { '; - if ($nonEmptySchema) { - out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; - } - if (it.opts.allErrors) { - out += ' } '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/custom.js b/node_modules/ajv/lib/dotjs/custom.js deleted file mode 100644 index f3e641e..0000000 --- a/node_modules/ajv/lib/dotjs/custom.js +++ /dev/null @@ -1,228 +0,0 @@ -'use strict'; -module.exports = function generate_custom(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - var $rule = this, - $definition = 'definition' + $lvl, - $rDef = $rule.definition, - $closingBraces = ''; - var $compile, $inline, $macro, $ruleValidate, $validateCode; - if ($isData && $rDef.$data) { - $validateCode = 'keywordValidate' + $lvl; - var $validateSchema = $rDef.validateSchema; - out += ' var ' + ($definition) + ' = RULES.custom[\'' + ($keyword) + '\'].definition; var ' + ($validateCode) + ' = ' + ($definition) + '.validate;'; - } else { - $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it); - if (!$ruleValidate) return; - $schemaValue = 'validate.schema' + $schemaPath; - $validateCode = $ruleValidate.code; - $compile = $rDef.compile; - $inline = $rDef.inline; - $macro = $rDef.macro; - } - var $ruleErrs = $validateCode + '.errors', - $i = 'i' + $lvl, - $ruleErr = 'ruleErr' + $lvl, - $asyncKeyword = $rDef.async; - if ($asyncKeyword && !it.async) throw new Error('async keyword in sync schema'); - if (!($inline || $macro)) { - out += '' + ($ruleErrs) + ' = null;'; - } - out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; - if ($isData && $rDef.$data) { - $closingBraces += '}'; - out += ' if (' + ($schemaValue) + ' === undefined) { ' + ($valid) + ' = true; } else { '; - if ($validateSchema) { - $closingBraces += '}'; - out += ' ' + ($valid) + ' = ' + ($definition) + '.validateSchema(' + ($schemaValue) + '); if (' + ($valid) + ') { '; - } - } - if ($inline) { - if ($rDef.statements) { - out += ' ' + ($ruleValidate.validate) + ' '; - } else { - out += ' ' + ($valid) + ' = ' + ($ruleValidate.validate) + '; '; - } - } else if ($macro) { - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - $it.schema = $ruleValidate.validate; - $it.schemaPath = ''; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - var $code = it.validate($it).replace(/validate\.schema/g, $validateCode); - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' ' + ($code); - } else { - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; - out += ' ' + ($validateCode) + '.call( '; - if (it.opts.passContext) { - out += 'this'; - } else { - out += 'self'; - } - if ($compile || $rDef.schema === false) { - out += ' , ' + ($data) + ' '; - } else { - out += ' , ' + ($schemaValue) + ' , ' + ($data) + ' , validate.schema' + (it.schemaPath) + ' '; - } - out += ' , (dataPath || \'\')'; - if (it.errorPath != '""') { - out += ' + ' + (it.errorPath); - } - var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', - $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; - out += ' , ' + ($parentData) + ' , ' + ($parentDataProperty) + ' , rootData ) '; - var def_callRuleValidate = out; - out = $$outStack.pop(); - if ($rDef.errors === false) { - out += ' ' + ($valid) + ' = '; - if ($asyncKeyword) { - out += 'await '; - } - out += '' + (def_callRuleValidate) + '; '; - } else { - if ($asyncKeyword) { - $ruleErrs = 'customErrors' + $lvl; - out += ' var ' + ($ruleErrs) + ' = null; try { ' + ($valid) + ' = await ' + (def_callRuleValidate) + '; } catch (e) { ' + ($valid) + ' = false; if (e instanceof ValidationError) ' + ($ruleErrs) + ' = e.errors; else throw e; } '; - } else { - out += ' ' + ($ruleErrs) + ' = null; ' + ($valid) + ' = ' + (def_callRuleValidate) + '; '; - } - } - } - if ($rDef.modifying) { - out += ' if (' + ($parentData) + ') ' + ($data) + ' = ' + ($parentData) + '[' + ($parentDataProperty) + '];'; - } - out += '' + ($closingBraces); - if ($rDef.valid) { - if ($breakOnError) { - out += ' if (true) { '; - } - } else { - out += ' if ( '; - if ($rDef.valid === undefined) { - out += ' !'; - if ($macro) { - out += '' + ($nextValid); - } else { - out += '' + ($valid); - } - } else { - out += ' ' + (!$rDef.valid) + ' '; - } - out += ') { '; - $errorKeyword = $rule.keyword; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'custom') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { keyword: \'' + ($rule.keyword) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should pass "' + ($rule.keyword) + '" keyword validation\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - var def_customError = out; - out = $$outStack.pop(); - if ($inline) { - if ($rDef.errors) { - if ($rDef.errors != 'full') { - out += ' for (var ' + ($i) + '=' + ($errs) + '; ' + ($i) + ' 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined '; - if ($ownProperties) { - out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($property)) + '\') '; - } - out += ') { '; - $it.schema = $sch; - $it.schemaPath = $schemaPath + it.util.getProperty($property); - $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property); - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - out += ' } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - if ($breakOnError) { - out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/enum.js b/node_modules/ajv/lib/dotjs/enum.js deleted file mode 100644 index 90580b9..0000000 --- a/node_modules/ajv/lib/dotjs/enum.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; -module.exports = function generate_enum(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - var $i = 'i' + $lvl, - $vSchema = 'schema' + $lvl; - if (!$isData) { - out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + ';'; - } - out += 'var ' + ($valid) + ';'; - if ($isData) { - out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; - } - out += '' + ($valid) + ' = false;for (var ' + ($i) + '=0; ' + ($i) + '<' + ($vSchema) + '.length; ' + ($i) + '++) if (equal(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + '])) { ' + ($valid) + ' = true; break; }'; - if ($isData) { - out += ' } '; - } - out += ' if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('enum') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { allowedValues: schema' + ($lvl) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be equal to one of the allowed values\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' }'; - if ($breakOnError) { - out += ' else { '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/format.js b/node_modules/ajv/lib/dotjs/format.js deleted file mode 100644 index cd9a569..0000000 --- a/node_modules/ajv/lib/dotjs/format.js +++ /dev/null @@ -1,150 +0,0 @@ -'use strict'; -module.exports = function generate_format(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - if (it.opts.format === false) { - if ($breakOnError) { - out += ' if (true) { '; - } - return out; - } - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - var $unknownFormats = it.opts.unknownFormats, - $allowUnknown = Array.isArray($unknownFormats); - if ($isData) { - var $format = 'format' + $lvl, - $isObject = 'isObject' + $lvl, - $formatType = 'formatType' + $lvl; - out += ' var ' + ($format) + ' = formats[' + ($schemaValue) + ']; var ' + ($isObject) + ' = typeof ' + ($format) + ' == \'object\' && !(' + ($format) + ' instanceof RegExp) && ' + ($format) + '.validate; var ' + ($formatType) + ' = ' + ($isObject) + ' && ' + ($format) + '.type || \'string\'; if (' + ($isObject) + ') { '; - if (it.async) { - out += ' var async' + ($lvl) + ' = ' + ($format) + '.async; '; - } - out += ' ' + ($format) + ' = ' + ($format) + '.validate; } if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; - } - out += ' ('; - if ($unknownFormats != 'ignore') { - out += ' (' + ($schemaValue) + ' && !' + ($format) + ' '; - if ($allowUnknown) { - out += ' && self._opts.unknownFormats.indexOf(' + ($schemaValue) + ') == -1 '; - } - out += ') || '; - } - out += ' (' + ($format) + ' && ' + ($formatType) + ' == \'' + ($ruleType) + '\' && !(typeof ' + ($format) + ' == \'function\' ? '; - if (it.async) { - out += ' (async' + ($lvl) + ' ? await ' + ($format) + '(' + ($data) + ') : ' + ($format) + '(' + ($data) + ')) '; - } else { - out += ' ' + ($format) + '(' + ($data) + ') '; - } - out += ' : ' + ($format) + '.test(' + ($data) + '))))) {'; - } else { - var $format = it.formats[$schema]; - if (!$format) { - if ($unknownFormats == 'ignore') { - it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); - if ($breakOnError) { - out += ' if (true) { '; - } - return out; - } else if ($allowUnknown && $unknownFormats.indexOf($schema) >= 0) { - if ($breakOnError) { - out += ' if (true) { '; - } - return out; - } else { - throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); - } - } - var $isObject = typeof $format == 'object' && !($format instanceof RegExp) && $format.validate; - var $formatType = $isObject && $format.type || 'string'; - if ($isObject) { - var $async = $format.async === true; - $format = $format.validate; - } - if ($formatType != $ruleType) { - if ($breakOnError) { - out += ' if (true) { '; - } - return out; - } - if ($async) { - if (!it.async) throw new Error('async format in sync schema'); - var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate'; - out += ' if (!(await ' + ($formatRef) + '(' + ($data) + '))) { '; - } else { - out += ' if (! '; - var $formatRef = 'formats' + it.util.getProperty($schema); - if ($isObject) $formatRef += '.validate'; - if (typeof $format == 'function') { - out += ' ' + ($formatRef) + '(' + ($data) + ') '; - } else { - out += ' ' + ($formatRef) + '.test(' + ($data) + ') '; - } - out += ') { '; - } - } - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('format') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { format: '; - if ($isData) { - out += '' + ($schemaValue); - } else { - out += '' + (it.util.toQuotedString($schema)); - } - out += ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should match format "'; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + (it.util.escapeQuotes($schema)); - } - out += '"\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + (it.util.toQuotedString($schema)); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/if.js b/node_modules/ajv/lib/dotjs/if.js deleted file mode 100644 index 94d27ad..0000000 --- a/node_modules/ajv/lib/dotjs/if.js +++ /dev/null @@ -1,103 +0,0 @@ -'use strict'; -module.exports = function generate_if(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - $it.level++; - var $nextValid = 'valid' + $it.level; - var $thenSch = it.schema['then'], - $elseSch = it.schema['else'], - $thenPresent = $thenSch !== undefined && (it.opts.strictKeywords ? (typeof $thenSch == 'object' && Object.keys($thenSch).length > 0) || $thenSch === false : it.util.schemaHasRules($thenSch, it.RULES.all)), - $elsePresent = $elseSch !== undefined && (it.opts.strictKeywords ? (typeof $elseSch == 'object' && Object.keys($elseSch).length > 0) || $elseSch === false : it.util.schemaHasRules($elseSch, it.RULES.all)), - $currentBaseId = $it.baseId; - if ($thenPresent || $elsePresent) { - var $ifClause; - $it.createErrors = false; - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - out += ' var ' + ($errs) + ' = errors; var ' + ($valid) + ' = true; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - $it.createErrors = true; - out += ' errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; - it.compositeRule = $it.compositeRule = $wasComposite; - if ($thenPresent) { - out += ' if (' + ($nextValid) + ') { '; - $it.schema = it.schema['then']; - $it.schemaPath = it.schemaPath + '.then'; - $it.errSchemaPath = it.errSchemaPath + '/then'; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; - if ($thenPresent && $elsePresent) { - $ifClause = 'ifClause' + $lvl; - out += ' var ' + ($ifClause) + ' = \'then\'; '; - } else { - $ifClause = '\'then\''; - } - out += ' } '; - if ($elsePresent) { - out += ' else { '; - } - } else { - out += ' if (!' + ($nextValid) + ') { '; - } - if ($elsePresent) { - $it.schema = it.schema['else']; - $it.schemaPath = it.schemaPath + '.else'; - $it.errSchemaPath = it.errSchemaPath + '/else'; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - out += ' ' + ($valid) + ' = ' + ($nextValid) + '; '; - if ($thenPresent && $elsePresent) { - $ifClause = 'ifClause' + $lvl; - out += ' var ' + ($ifClause) + ' = \'else\'; '; - } else { - $ifClause = '\'else\''; - } - out += ' } '; - } - out += ' if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('if') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { failingKeyword: ' + ($ifClause) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should match "\' + ' + ($ifClause) + ' + \'" schema\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError(vErrors); '; - } else { - out += ' validate.errors = vErrors; return false; '; - } - } - out += ' } '; - if ($breakOnError) { - out += ' else { '; - } - } else { - if ($breakOnError) { - out += ' if (true) { '; - } - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/index.js b/node_modules/ajv/lib/dotjs/index.js deleted file mode 100644 index 2fb1b00..0000000 --- a/node_modules/ajv/lib/dotjs/index.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict'; - -//all requires must be explicit because browserify won't work with dynamic requires -module.exports = { - '$ref': require('./ref'), - allOf: require('./allOf'), - anyOf: require('./anyOf'), - '$comment': require('./comment'), - const: require('./const'), - contains: require('./contains'), - dependencies: require('./dependencies'), - 'enum': require('./enum'), - format: require('./format'), - 'if': require('./if'), - items: require('./items'), - maximum: require('./_limit'), - minimum: require('./_limit'), - maxItems: require('./_limitItems'), - minItems: require('./_limitItems'), - maxLength: require('./_limitLength'), - minLength: require('./_limitLength'), - maxProperties: require('./_limitProperties'), - minProperties: require('./_limitProperties'), - multipleOf: require('./multipleOf'), - not: require('./not'), - oneOf: require('./oneOf'), - pattern: require('./pattern'), - properties: require('./properties'), - propertyNames: require('./propertyNames'), - required: require('./required'), - uniqueItems: require('./uniqueItems'), - validate: require('./validate') -}; diff --git a/node_modules/ajv/lib/dotjs/items.js b/node_modules/ajv/lib/dotjs/items.js deleted file mode 100644 index bee5d67..0000000 --- a/node_modules/ajv/lib/dotjs/items.js +++ /dev/null @@ -1,140 +0,0 @@ -'use strict'; -module.exports = function generate_items(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $idx = 'i' + $lvl, - $dataNxt = $it.dataLevel = it.dataLevel + 1, - $nextData = 'data' + $dataNxt, - $currentBaseId = it.baseId; - out += 'var ' + ($errs) + ' = errors;var ' + ($valid) + ';'; - if (Array.isArray($schema)) { - var $additionalItems = it.schema.additionalItems; - if ($additionalItems === false) { - out += ' ' + ($valid) + ' = ' + ($data) + '.length <= ' + ($schema.length) + '; '; - var $currErrSchemaPath = $errSchemaPath; - $errSchemaPath = it.errSchemaPath + '/additionalItems'; - out += ' if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('additionalItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { limit: ' + ($schema.length) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT have more than ' + ($schema.length) + ' items\' '; - } - if (it.opts.verbose) { - out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - $errSchemaPath = $currErrSchemaPath; - if ($breakOnError) { - $closingBraces += '}'; - out += ' else { '; - } - } - var arr1 = $schema; - if (arr1) { - var $sch, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $sch = arr1[$i += 1]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($i) + ') { '; - var $passData = $data + '[' + $i + ']'; - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true); - $it.dataPathArr[$dataNxt] = $i; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - out += ' } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - } - if (typeof $additionalItems == 'object' && (it.opts.strictKeywords ? (typeof $additionalItems == 'object' && Object.keys($additionalItems).length > 0) || $additionalItems === false : it.util.schemaHasRules($additionalItems, it.RULES.all))) { - $it.schema = $additionalItems; - $it.schemaPath = it.schemaPath + '.additionalItems'; - $it.errSchemaPath = it.errSchemaPath + '/additionalItems'; - out += ' ' + ($nextValid) + ' = true; if (' + ($data) + '.length > ' + ($schema.length) + ') { for (var ' + ($idx) + ' = ' + ($schema.length) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; - $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); - var $passData = $data + '[' + $idx + ']'; - $it.dataPathArr[$dataNxt] = $idx; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - if ($breakOnError) { - out += ' if (!' + ($nextValid) + ') break; '; - } - out += ' } } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } else if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - out += ' for (var ' + ($idx) + ' = ' + (0) + '; ' + ($idx) + ' < ' + ($data) + '.length; ' + ($idx) + '++) { '; - $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true); - var $passData = $data + '[' + $idx + ']'; - $it.dataPathArr[$dataNxt] = $idx; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - if ($breakOnError) { - out += ' if (!' + ($nextValid) + ') break; '; - } - out += ' }'; - } - if ($breakOnError) { - out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/multipleOf.js b/node_modules/ajv/lib/dotjs/multipleOf.js deleted file mode 100644 index 9d6401b..0000000 --- a/node_modules/ajv/lib/dotjs/multipleOf.js +++ /dev/null @@ -1,80 +0,0 @@ -'use strict'; -module.exports = function generate_multipleOf(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (!($isData || typeof $schema == 'number')) { - throw new Error($keyword + ' must be number'); - } - out += 'var division' + ($lvl) + ';if ('; - if ($isData) { - out += ' ' + ($schemaValue) + ' !== undefined && ( typeof ' + ($schemaValue) + ' != \'number\' || '; - } - out += ' (division' + ($lvl) + ' = ' + ($data) + ' / ' + ($schemaValue) + ', '; - if (it.opts.multipleOfPrecision) { - out += ' Math.abs(Math.round(division' + ($lvl) + ') - division' + ($lvl) + ') > 1e-' + (it.opts.multipleOfPrecision) + ' '; - } else { - out += ' division' + ($lvl) + ' !== parseInt(division' + ($lvl) + ') '; - } - out += ' ) '; - if ($isData) { - out += ' ) '; - } - out += ' ) { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('multipleOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { multipleOf: ' + ($schemaValue) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be multiple of '; - if ($isData) { - out += '\' + ' + ($schemaValue); - } else { - out += '' + ($schemaValue) + '\''; - } - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/not.js b/node_modules/ajv/lib/dotjs/not.js deleted file mode 100644 index f50c937..0000000 --- a/node_modules/ajv/lib/dotjs/not.js +++ /dev/null @@ -1,84 +0,0 @@ -'use strict'; -module.exports = function generate_not(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - $it.level++; - var $nextValid = 'valid' + $it.level; - if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - out += ' var ' + ($errs) + ' = errors; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - $it.createErrors = false; - var $allErrorsOption; - if ($it.opts.allErrors) { - $allErrorsOption = $it.opts.allErrors; - $it.opts.allErrors = false; - } - out += ' ' + (it.validate($it)) + ' '; - $it.createErrors = true; - if ($allErrorsOption) $it.opts.allErrors = $allErrorsOption; - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' if (' + ($nextValid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT be valid\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; } '; - if (it.opts.allErrors) { - out += ' } '; - } - } else { - out += ' var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('not') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT be valid\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - if ($breakOnError) { - out += ' if (false) { '; - } - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/oneOf.js b/node_modules/ajv/lib/dotjs/oneOf.js deleted file mode 100644 index dfe2fd5..0000000 --- a/node_modules/ajv/lib/dotjs/oneOf.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; -module.exports = function generate_oneOf(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $currentBaseId = $it.baseId, - $prevValid = 'prevValid' + $lvl, - $passingSchemas = 'passingSchemas' + $lvl; - out += 'var ' + ($errs) + ' = errors , ' + ($prevValid) + ' = false , ' + ($valid) + ' = false , ' + ($passingSchemas) + ' = null; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - var arr1 = $schema; - if (arr1) { - var $sch, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $sch = arr1[$i += 1]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - $it.schema = $sch; - $it.schemaPath = $schemaPath + '[' + $i + ']'; - $it.errSchemaPath = $errSchemaPath + '/' + $i; - out += ' ' + (it.validate($it)) + ' '; - $it.baseId = $currentBaseId; - } else { - out += ' var ' + ($nextValid) + ' = true; '; - } - if ($i) { - out += ' if (' + ($nextValid) + ' && ' + ($prevValid) + ') { ' + ($valid) + ' = false; ' + ($passingSchemas) + ' = [' + ($passingSchemas) + ', ' + ($i) + ']; } else { '; - $closingBraces += '}'; - } - out += ' if (' + ($nextValid) + ') { ' + ($valid) + ' = ' + ($prevValid) + ' = true; ' + ($passingSchemas) + ' = ' + ($i) + '; }'; - } - } - it.compositeRule = $it.compositeRule = $wasComposite; - out += '' + ($closingBraces) + 'if (!' + ($valid) + ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('oneOf') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { passingSchemas: ' + ($passingSchemas) + ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should match exactly one schema in oneOf\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError(vErrors); '; - } else { - out += ' validate.errors = vErrors; return false; '; - } - } - out += '} else { errors = ' + ($errs) + '; if (vErrors !== null) { if (' + ($errs) + ') vErrors.length = ' + ($errs) + '; else vErrors = null; }'; - if (it.opts.allErrors) { - out += ' } '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/pattern.js b/node_modules/ajv/lib/dotjs/pattern.js deleted file mode 100644 index 1d74d6b..0000000 --- a/node_modules/ajv/lib/dotjs/pattern.js +++ /dev/null @@ -1,75 +0,0 @@ -'use strict'; -module.exports = function generate_pattern(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema); - out += 'if ( '; - if ($isData) { - out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'string\') || '; - } - out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('pattern') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: '; - if ($isData) { - out += '' + ($schemaValue); - } else { - out += '' + (it.util.toQuotedString($schema)); - } - out += ' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should match pattern "'; - if ($isData) { - out += '\' + ' + ($schemaValue) + ' + \''; - } else { - out += '' + (it.util.escapeQuotes($schema)); - } - out += '"\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + (it.util.toQuotedString($schema)); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += '} '; - if ($breakOnError) { - out += ' else { '; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/properties.js b/node_modules/ajv/lib/dotjs/properties.js deleted file mode 100644 index bc5ee55..0000000 --- a/node_modules/ajv/lib/dotjs/properties.js +++ /dev/null @@ -1,335 +0,0 @@ -'use strict'; -module.exports = function generate_properties(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - var $key = 'key' + $lvl, - $idx = 'idx' + $lvl, - $dataNxt = $it.dataLevel = it.dataLevel + 1, - $nextData = 'data' + $dataNxt, - $dataProperties = 'dataProperties' + $lvl; - var $schemaKeys = Object.keys($schema || {}).filter(notProto), - $pProperties = it.schema.patternProperties || {}, - $pPropertyKeys = Object.keys($pProperties).filter(notProto), - $aProperties = it.schema.additionalProperties, - $someProperties = $schemaKeys.length || $pPropertyKeys.length, - $noAdditional = $aProperties === false, - $additionalIsSchema = typeof $aProperties == 'object' && Object.keys($aProperties).length, - $removeAdditional = it.opts.removeAdditional, - $checkAdditional = $noAdditional || $additionalIsSchema || $removeAdditional, - $ownProperties = it.opts.ownProperties, - $currentBaseId = it.baseId; - var $required = it.schema.required; - if ($required && !(it.opts.$data && $required.$data) && $required.length < it.opts.loopRequired) { - var $requiredHash = it.util.toHash($required); - } - - function notProto(p) { - return p !== '__proto__'; - } - out += 'var ' + ($errs) + ' = errors;var ' + ($nextValid) + ' = true;'; - if ($ownProperties) { - out += ' var ' + ($dataProperties) + ' = undefined;'; - } - if ($checkAdditional) { - if ($ownProperties) { - out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; - } else { - out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; - } - if ($someProperties) { - out += ' var isAdditional' + ($lvl) + ' = !(false '; - if ($schemaKeys.length) { - if ($schemaKeys.length > 8) { - out += ' || validate.schema' + ($schemaPath) + '.hasOwnProperty(' + ($key) + ') '; - } else { - var arr1 = $schemaKeys; - if (arr1) { - var $propertyKey, i1 = -1, - l1 = arr1.length - 1; - while (i1 < l1) { - $propertyKey = arr1[i1 += 1]; - out += ' || ' + ($key) + ' == ' + (it.util.toQuotedString($propertyKey)) + ' '; - } - } - } - } - if ($pPropertyKeys.length) { - var arr2 = $pPropertyKeys; - if (arr2) { - var $pProperty, $i = -1, - l2 = arr2.length - 1; - while ($i < l2) { - $pProperty = arr2[$i += 1]; - out += ' || ' + (it.usePattern($pProperty)) + '.test(' + ($key) + ') '; - } - } - } - out += ' ); if (isAdditional' + ($lvl) + ') { '; - } - if ($removeAdditional == 'all') { - out += ' delete ' + ($data) + '[' + ($key) + ']; '; - } else { - var $currentErrorPath = it.errorPath; - var $additionalProperty = '\' + ' + $key + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - } - if ($noAdditional) { - if ($removeAdditional) { - out += ' delete ' + ($data) + '[' + ($key) + ']; '; - } else { - out += ' ' + ($nextValid) + ' = false; '; - var $currErrSchemaPath = $errSchemaPath; - $errSchemaPath = it.errSchemaPath + '/additionalProperties'; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('additionalProperties') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { additionalProperty: \'' + ($additionalProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is an invalid additional property'; - } else { - out += 'should NOT have additional properties'; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - $errSchemaPath = $currErrSchemaPath; - if ($breakOnError) { - out += ' break; '; - } - } - } else if ($additionalIsSchema) { - if ($removeAdditional == 'failing') { - out += ' var ' + ($errs) + ' = errors; '; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - $it.schema = $aProperties; - $it.schemaPath = it.schemaPath + '.additionalProperties'; - $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; - $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - var $passData = $data + '[' + $key + ']'; - $it.dataPathArr[$dataNxt] = $key; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - out += ' if (!' + ($nextValid) + ') { errors = ' + ($errs) + '; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete ' + ($data) + '[' + ($key) + ']; } '; - it.compositeRule = $it.compositeRule = $wasComposite; - } else { - $it.schema = $aProperties; - $it.schemaPath = it.schemaPath + '.additionalProperties'; - $it.errSchemaPath = it.errSchemaPath + '/additionalProperties'; - $it.errorPath = it.opts._errorDataPathProperty ? it.errorPath : it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - var $passData = $data + '[' + $key + ']'; - $it.dataPathArr[$dataNxt] = $key; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - if ($breakOnError) { - out += ' if (!' + ($nextValid) + ') break; '; - } - } - } - it.errorPath = $currentErrorPath; - } - if ($someProperties) { - out += ' } '; - } - out += ' } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - var $useDefaults = it.opts.useDefaults && !it.compositeRule; - if ($schemaKeys.length) { - var arr3 = $schemaKeys; - if (arr3) { - var $propertyKey, i3 = -1, - l3 = arr3.length - 1; - while (i3 < l3) { - $propertyKey = arr3[i3 += 1]; - var $sch = $schema[$propertyKey]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - var $prop = it.util.getProperty($propertyKey), - $passData = $data + $prop, - $hasDefault = $useDefaults && $sch.default !== undefined; - $it.schema = $sch; - $it.schemaPath = $schemaPath + $prop; - $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($propertyKey); - $it.errorPath = it.util.getPath(it.errorPath, $propertyKey, it.opts.jsonPointers); - $it.dataPathArr[$dataNxt] = it.util.toQuotedString($propertyKey); - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - $code = it.util.varReplace($code, $nextData, $passData); - var $useData = $passData; - } else { - var $useData = $nextData; - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; '; - } - if ($hasDefault) { - out += ' ' + ($code) + ' '; - } else { - if ($requiredHash && $requiredHash[$propertyKey]) { - out += ' if ( ' + ($useData) + ' === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ') { ' + ($nextValid) + ' = false; '; - var $currentErrorPath = it.errorPath, - $currErrSchemaPath = $errSchemaPath, - $missingProperty = it.util.escapeQuotes($propertyKey); - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); - } - $errSchemaPath = it.errSchemaPath + '/required'; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - $errSchemaPath = $currErrSchemaPath; - it.errorPath = $currentErrorPath; - out += ' } else { '; - } else { - if ($breakOnError) { - out += ' if ( ' + ($useData) + ' === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ') { ' + ($nextValid) + ' = true; } else { '; - } else { - out += ' if (' + ($useData) + ' !== undefined '; - if ($ownProperties) { - out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ' ) { '; - } - } - out += ' ' + ($code) + ' } '; - } - } - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - } - if ($pPropertyKeys.length) { - var arr4 = $pPropertyKeys; - if (arr4) { - var $pProperty, i4 = -1, - l4 = arr4.length - 1; - while (i4 < l4) { - $pProperty = arr4[i4 += 1]; - var $sch = $pProperties[$pProperty]; - if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) { - $it.schema = $sch; - $it.schemaPath = it.schemaPath + '.patternProperties' + it.util.getProperty($pProperty); - $it.errSchemaPath = it.errSchemaPath + '/patternProperties/' + it.util.escapeFragment($pProperty); - if ($ownProperties) { - out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; - } else { - out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; - } - out += ' if (' + (it.usePattern($pProperty)) + '.test(' + ($key) + ')) { '; - $it.errorPath = it.util.getPathExpr(it.errorPath, $key, it.opts.jsonPointers); - var $passData = $data + '[' + $key + ']'; - $it.dataPathArr[$dataNxt] = $key; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - if ($breakOnError) { - out += ' if (!' + ($nextValid) + ') break; '; - } - out += ' } '; - if ($breakOnError) { - out += ' else ' + ($nextValid) + ' = true; '; - } - out += ' } '; - if ($breakOnError) { - out += ' if (' + ($nextValid) + ') { '; - $closingBraces += '}'; - } - } - } - } - } - if ($breakOnError) { - out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {'; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/propertyNames.js b/node_modules/ajv/lib/dotjs/propertyNames.js deleted file mode 100644 index 2a54a08..0000000 --- a/node_modules/ajv/lib/dotjs/propertyNames.js +++ /dev/null @@ -1,81 +0,0 @@ -'use strict'; -module.exports = function generate_propertyNames(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $errs = 'errs__' + $lvl; - var $it = it.util.copy(it); - var $closingBraces = ''; - $it.level++; - var $nextValid = 'valid' + $it.level; - out += 'var ' + ($errs) + ' = errors;'; - if ((it.opts.strictKeywords ? (typeof $schema == 'object' && Object.keys($schema).length > 0) || $schema === false : it.util.schemaHasRules($schema, it.RULES.all))) { - $it.schema = $schema; - $it.schemaPath = $schemaPath; - $it.errSchemaPath = $errSchemaPath; - var $key = 'key' + $lvl, - $idx = 'idx' + $lvl, - $i = 'i' + $lvl, - $invalidName = '\' + ' + $key + ' + \'', - $dataNxt = $it.dataLevel = it.dataLevel + 1, - $nextData = 'data' + $dataNxt, - $dataProperties = 'dataProperties' + $lvl, - $ownProperties = it.opts.ownProperties, - $currentBaseId = it.baseId; - if ($ownProperties) { - out += ' var ' + ($dataProperties) + ' = undefined; '; - } - if ($ownProperties) { - out += ' ' + ($dataProperties) + ' = ' + ($dataProperties) + ' || Object.keys(' + ($data) + '); for (var ' + ($idx) + '=0; ' + ($idx) + '<' + ($dataProperties) + '.length; ' + ($idx) + '++) { var ' + ($key) + ' = ' + ($dataProperties) + '[' + ($idx) + ']; '; - } else { - out += ' for (var ' + ($key) + ' in ' + ($data) + ') { '; - } - out += ' var startErrs' + ($lvl) + ' = errors; '; - var $passData = $key; - var $wasComposite = it.compositeRule; - it.compositeRule = $it.compositeRule = true; - var $code = it.validate($it); - $it.baseId = $currentBaseId; - if (it.util.varOccurences($code, $nextData) < 2) { - out += ' ' + (it.util.varReplace($code, $nextData, $passData)) + ' '; - } else { - out += ' var ' + ($nextData) + ' = ' + ($passData) + '; ' + ($code) + ' '; - } - it.compositeRule = $it.compositeRule = $wasComposite; - out += ' if (!' + ($nextValid) + ') { for (var ' + ($i) + '=startErrs' + ($lvl) + '; ' + ($i) + ' 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) { - $required[$required.length] = $property; - } - } - } - } else { - var $required = $schema; - } - } - if ($isData || $required.length) { - var $currentErrorPath = it.errorPath, - $loopRequired = $isData || $required.length >= it.opts.loopRequired, - $ownProperties = it.opts.ownProperties; - if ($breakOnError) { - out += ' var missing' + ($lvl) + '; '; - if ($loopRequired) { - if (!$isData) { - out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; - } - var $i = 'i' + $lvl, - $propertyPath = 'schema' + $lvl + '[' + $i + ']', - $missingProperty = '\' + ' + $propertyPath + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); - } - out += ' var ' + ($valid) + ' = true; '; - if ($isData) { - out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {'; - } - out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined '; - if ($ownProperties) { - out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; - } - out += '; if (!' + ($valid) + ') break; } '; - if ($isData) { - out += ' } '; - } - out += ' if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else { '; - } else { - out += ' if ( '; - var arr2 = $required; - if (arr2) { - var $propertyKey, $i = -1, - l2 = arr2.length - 1; - while ($i < l2) { - $propertyKey = arr2[$i += 1]; - if ($i) { - out += ' || '; - } - var $prop = it.util.getProperty($propertyKey), - $useData = $data + $prop; - out += ' ( ( ' + ($useData) + ' === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) '; - } - } - out += ') { '; - var $propertyPath = 'missing' + $lvl, - $missingProperty = '\' + ' + $propertyPath + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath; - } - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } else { '; - } - } else { - if ($loopRequired) { - if (!$isData) { - out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; '; - } - var $i = 'i' + $lvl, - $propertyPath = 'schema' + $lvl + '[' + $i + ']', - $missingProperty = '\' + ' + $propertyPath + ' + \''; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers); - } - if ($isData) { - out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { '; - } - out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) '; - } - out += ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } '; - if ($isData) { - out += ' } '; - } - } else { - var arr3 = $required; - if (arr3) { - var $propertyKey, i3 = -1, - l3 = arr3.length - 1; - while (i3 < l3) { - $propertyKey = arr3[i3 += 1]; - var $prop = it.util.getProperty($propertyKey), - $missingProperty = it.util.escapeQuotes($propertyKey), - $useData = $data + $prop; - if (it.opts._errorDataPathProperty) { - it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers); - } - out += ' if ( ' + ($useData) + ' === undefined '; - if ($ownProperties) { - out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \'' + (it.util.escapeQuotes($propertyKey)) + '\') '; - } - out += ') { var err = '; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('required') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \'' + ($missingProperty) + '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \''; - if (it.opts._errorDataPathProperty) { - out += 'is a required property'; - } else { - out += 'should have required property \\\'' + ($missingProperty) + '\\\''; - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } '; - } - } - } - } - it.errorPath = $currentErrorPath; - } else if ($breakOnError) { - out += ' if (true) {'; - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/uniqueItems.js b/node_modules/ajv/lib/dotjs/uniqueItems.js deleted file mode 100644 index 0736a0e..0000000 --- a/node_modules/ajv/lib/dotjs/uniqueItems.js +++ /dev/null @@ -1,86 +0,0 @@ -'use strict'; -module.exports = function generate_uniqueItems(it, $keyword, $ruleType) { - var out = ' '; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - var $isData = it.opts.$data && $schema && $schema.$data, - $schemaValue; - if ($isData) { - out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; '; - $schemaValue = 'schema' + $lvl; - } else { - $schemaValue = $schema; - } - if (($schema || $isData) && it.opts.uniqueItems !== false) { - if ($isData) { - out += ' var ' + ($valid) + '; if (' + ($schemaValue) + ' === false || ' + ($schemaValue) + ' === undefined) ' + ($valid) + ' = true; else if (typeof ' + ($schemaValue) + ' != \'boolean\') ' + ($valid) + ' = false; else { '; - } - out += ' var i = ' + ($data) + '.length , ' + ($valid) + ' = true , j; if (i > 1) { '; - var $itemType = it.schema.items && it.schema.items.type, - $typeIsArray = Array.isArray($itemType); - if (!$itemType || $itemType == 'object' || $itemType == 'array' || ($typeIsArray && ($itemType.indexOf('object') >= 0 || $itemType.indexOf('array') >= 0))) { - out += ' outer: for (;i--;) { for (j = i; j--;) { if (equal(' + ($data) + '[i], ' + ($data) + '[j])) { ' + ($valid) + ' = false; break outer; } } } '; - } else { - out += ' var itemIndices = {}, item; for (;i--;) { var item = ' + ($data) + '[i]; '; - var $method = 'checkDataType' + ($typeIsArray ? 's' : ''); - out += ' if (' + (it.util[$method]($itemType, 'item', it.opts.strictNumbers, true)) + ') continue; '; - if ($typeIsArray) { - out += ' if (typeof item == \'string\') item = \'"\' + item; '; - } - out += ' if (typeof itemIndices[item] == \'number\') { ' + ($valid) + ' = false; j = itemIndices[item]; break; } itemIndices[item] = i; } '; - } - out += ' } '; - if ($isData) { - out += ' } '; - } - out += ' if (!' + ($valid) + ') { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ('uniqueItems') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { i: i, j: j } '; - if (it.opts.messages !== false) { - out += ' , message: \'should NOT have duplicate items (items ## \' + j + \' and \' + i + \' are identical)\' '; - } - if (it.opts.verbose) { - out += ' , schema: '; - if ($isData) { - out += 'validate.schema' + ($schemaPath); - } else { - out += '' + ($schema); - } - out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - if ($breakOnError) { - out += ' else { '; - } - } else { - if ($breakOnError) { - out += ' if (true) { '; - } - } - return out; -} diff --git a/node_modules/ajv/lib/dotjs/validate.js b/node_modules/ajv/lib/dotjs/validate.js deleted file mode 100644 index f295824..0000000 --- a/node_modules/ajv/lib/dotjs/validate.js +++ /dev/null @@ -1,482 +0,0 @@ -'use strict'; -module.exports = function generate_validate(it, $keyword, $ruleType) { - var out = ''; - var $async = it.schema.$async === true, - $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'), - $id = it.self._getId(it.schema); - if (it.opts.strictKeywords) { - var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords); - if ($unknownKwd) { - var $keywordsMsg = 'unknown keyword: ' + $unknownKwd; - if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg); - else throw new Error($keywordsMsg); - } - } - if (it.isTop) { - out += ' var validate = '; - if ($async) { - it.async = true; - out += 'async '; - } - out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \'use strict\'; '; - if ($id && (it.opts.sourceCode || it.opts.processCode)) { - out += ' ' + ('/\*# sourceURL=' + $id + ' */') + ' '; - } - } - if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) { - var $keyword = 'false schema'; - var $lvl = it.level; - var $dataLvl = it.dataLevel; - var $schema = it.schema[$keyword]; - var $schemaPath = it.schemaPath + it.util.getProperty($keyword); - var $errSchemaPath = it.errSchemaPath + '/' + $keyword; - var $breakOnError = !it.opts.allErrors; - var $errorKeyword; - var $data = 'data' + ($dataLvl || ''); - var $valid = 'valid' + $lvl; - if (it.schema === false) { - if (it.isTop) { - $breakOnError = true; - } else { - out += ' var ' + ($valid) + ' = false; '; - } - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'false schema') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} '; - if (it.opts.messages !== false) { - out += ' , message: \'boolean schema is false\' '; - } - if (it.opts.verbose) { - out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - } else { - if (it.isTop) { - if ($async) { - out += ' return data; '; - } else { - out += ' validate.errors = null; return true; '; - } - } else { - out += ' var ' + ($valid) + ' = true; '; - } - } - if (it.isTop) { - out += ' }; return validate; '; - } - return out; - } - if (it.isTop) { - var $top = it.isTop, - $lvl = it.level = 0, - $dataLvl = it.dataLevel = 0, - $data = 'data'; - it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema)); - it.baseId = it.baseId || it.rootId; - delete it.isTop; - it.dataPathArr = [""]; - if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) { - var $defaultMsg = 'default is ignored in the schema root'; - if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); - else throw new Error($defaultMsg); - } - out += ' var vErrors = null; '; - out += ' var errors = 0; '; - out += ' if (rootData === undefined) rootData = data; '; - } else { - var $lvl = it.level, - $dataLvl = it.dataLevel, - $data = 'data' + ($dataLvl || ''); - if ($id) it.baseId = it.resolve.url(it.baseId, $id); - if ($async && !it.async) throw new Error('async schema in sync schema'); - out += ' var errs_' + ($lvl) + ' = errors;'; - } - var $valid = 'valid' + $lvl, - $breakOnError = !it.opts.allErrors, - $closingBraces1 = '', - $closingBraces2 = ''; - var $errorKeyword; - var $typeSchema = it.schema.type, - $typeIsArray = Array.isArray($typeSchema); - if ($typeSchema && it.opts.nullable && it.schema.nullable === true) { - if ($typeIsArray) { - if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null'); - } else if ($typeSchema != 'null') { - $typeSchema = [$typeSchema, 'null']; - $typeIsArray = true; - } - } - if ($typeIsArray && $typeSchema.length == 1) { - $typeSchema = $typeSchema[0]; - $typeIsArray = false; - } - if (it.schema.$ref && $refKeywords) { - if (it.opts.extendRefs == 'fail') { - throw new Error('$ref: validation keywords used in schema at path "' + it.errSchemaPath + '" (see option extendRefs)'); - } else if (it.opts.extendRefs !== true) { - $refKeywords = false; - it.logger.warn('$ref: keywords ignored in schema at path "' + it.errSchemaPath + '"'); - } - } - if (it.schema.$comment && it.opts.$comment) { - out += ' ' + (it.RULES.all.$comment.code(it, '$comment')); - } - if ($typeSchema) { - if (it.opts.coerceTypes) { - var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema); - } - var $rulesGroup = it.RULES.types[$typeSchema]; - if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) { - var $schemaPath = it.schemaPath + '.type', - $errSchemaPath = it.errSchemaPath + '/type'; - var $schemaPath = it.schemaPath + '.type', - $errSchemaPath = it.errSchemaPath + '/type', - $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType'; - out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { '; - if ($coerceToTypes) { - var $dataType = 'dataType' + $lvl, - $coerced = 'coerced' + $lvl; - out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; '; - if (it.opts.coerceTypes == 'array') { - out += ' if (' + ($dataType) + ' == \'object\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } '; - } - out += ' if (' + ($coerced) + ' !== undefined) ; '; - var arr1 = $coerceToTypes; - if (arr1) { - var $type, $i = -1, - l1 = arr1.length - 1; - while ($i < l1) { - $type = arr1[$i += 1]; - if ($type == 'string') { - out += ' else if (' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\') ' + ($coerced) + ' = \'\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \'\'; '; - } else if ($type == 'number' || $type == 'integer') { - out += ' else if (' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \'string\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' '; - if ($type == 'integer') { - out += ' && !(' + ($data) + ' % 1)'; - } - out += ')) ' + ($coerced) + ' = +' + ($data) + '; '; - } else if ($type == 'boolean') { - out += ' else if (' + ($data) + ' === \'false\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \'true\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; '; - } else if ($type == 'null') { - out += ' else if (' + ($data) + ' === \'\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; '; - } else if (it.opts.coerceTypes == 'array' && $type == 'array') { - out += ' else if (' + ($dataType) + ' == \'string\' || ' + ($dataType) + ' == \'number\' || ' + ($dataType) + ' == \'boolean\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; '; - } - } - } - out += ' else { '; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be '; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } if (' + ($coerced) + ' !== undefined) { '; - var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData', - $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; - out += ' ' + ($data) + ' = ' + ($coerced) + '; '; - if (!$dataLvl) { - out += 'if (' + ($parentData) + ' !== undefined)'; - } - out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } '; - } else { - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be '; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - } - out += ' } '; - } - } - if (it.schema.$ref && !$refKeywords) { - out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' '; - if ($breakOnError) { - out += ' } if (errors === '; - if ($top) { - out += '0'; - } else { - out += 'errs_' + ($lvl); - } - out += ') { '; - $closingBraces2 += '}'; - } - } else { - var arr2 = it.RULES; - if (arr2) { - var $rulesGroup, i2 = -1, - l2 = arr2.length - 1; - while (i2 < l2) { - $rulesGroup = arr2[i2 += 1]; - if ($shouldUseGroup($rulesGroup)) { - if ($rulesGroup.type) { - out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { '; - } - if (it.opts.useDefaults) { - if ($rulesGroup.type == 'object' && it.schema.properties) { - var $schema = it.schema.properties, - $schemaKeys = Object.keys($schema); - var arr3 = $schemaKeys; - if (arr3) { - var $propertyKey, i3 = -1, - l3 = arr3.length - 1; - while (i3 < l3) { - $propertyKey = arr3[i3 += 1]; - var $sch = $schema[$propertyKey]; - if ($sch.default !== undefined) { - var $passData = $data + it.util.getProperty($propertyKey); - if (it.compositeRule) { - if (it.opts.strictDefaults) { - var $defaultMsg = 'default is ignored for: ' + $passData; - if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); - else throw new Error($defaultMsg); - } - } else { - out += ' if (' + ($passData) + ' === undefined '; - if (it.opts.useDefaults == 'empty') { - out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; - } - out += ' ) ' + ($passData) + ' = '; - if (it.opts.useDefaults == 'shared') { - out += ' ' + (it.useDefault($sch.default)) + ' '; - } else { - out += ' ' + (JSON.stringify($sch.default)) + ' '; - } - out += '; '; - } - } - } - } - } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) { - var arr4 = it.schema.items; - if (arr4) { - var $sch, $i = -1, - l4 = arr4.length - 1; - while ($i < l4) { - $sch = arr4[$i += 1]; - if ($sch.default !== undefined) { - var $passData = $data + '[' + $i + ']'; - if (it.compositeRule) { - if (it.opts.strictDefaults) { - var $defaultMsg = 'default is ignored for: ' + $passData; - if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg); - else throw new Error($defaultMsg); - } - } else { - out += ' if (' + ($passData) + ' === undefined '; - if (it.opts.useDefaults == 'empty') { - out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \'\' '; - } - out += ' ) ' + ($passData) + ' = '; - if (it.opts.useDefaults == 'shared') { - out += ' ' + (it.useDefault($sch.default)) + ' '; - } else { - out += ' ' + (JSON.stringify($sch.default)) + ' '; - } - out += '; '; - } - } - } - } - } - } - var arr5 = $rulesGroup.rules; - if (arr5) { - var $rule, i5 = -1, - l5 = arr5.length - 1; - while (i5 < l5) { - $rule = arr5[i5 += 1]; - if ($shouldUseRule($rule)) { - var $code = $rule.code(it, $rule.keyword, $rulesGroup.type); - if ($code) { - out += ' ' + ($code) + ' '; - if ($breakOnError) { - $closingBraces1 += '}'; - } - } - } - } - } - if ($breakOnError) { - out += ' ' + ($closingBraces1) + ' '; - $closingBraces1 = ''; - } - if ($rulesGroup.type) { - out += ' } '; - if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) { - out += ' else { '; - var $schemaPath = it.schemaPath + '.type', - $errSchemaPath = it.errSchemaPath + '/type'; - var $$outStack = $$outStack || []; - $$outStack.push(out); - out = ''; /* istanbul ignore else */ - if (it.createErrors !== false) { - out += ' { keyword: \'' + ($errorKeyword || 'type') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \''; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' } '; - if (it.opts.messages !== false) { - out += ' , message: \'should be '; - if ($typeIsArray) { - out += '' + ($typeSchema.join(",")); - } else { - out += '' + ($typeSchema); - } - out += '\' '; - } - if (it.opts.verbose) { - out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' '; - } - out += ' } '; - } else { - out += ' {} '; - } - var __err = out; - out = $$outStack.pop(); - if (!it.compositeRule && $breakOnError) { - /* istanbul ignore if */ - if (it.async) { - out += ' throw new ValidationError([' + (__err) + ']); '; - } else { - out += ' validate.errors = [' + (__err) + ']; return false; '; - } - } else { - out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; '; - } - out += ' } '; - } - } - if ($breakOnError) { - out += ' if (errors === '; - if ($top) { - out += '0'; - } else { - out += 'errs_' + ($lvl); - } - out += ') { '; - $closingBraces2 += '}'; - } - } - } - } - } - if ($breakOnError) { - out += ' ' + ($closingBraces2) + ' '; - } - if ($top) { - if ($async) { - out += ' if (errors === 0) return data; '; - out += ' else throw new ValidationError(vErrors); '; - } else { - out += ' validate.errors = vErrors; '; - out += ' return errors === 0; '; - } - out += ' }; return validate;'; - } else { - out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';'; - } - - function $shouldUseGroup($rulesGroup) { - var rules = $rulesGroup.rules; - for (var i = 0; i < rules.length; i++) - if ($shouldUseRule(rules[i])) return true; - } - - function $shouldUseRule($rule) { - return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule)); - } - - function $ruleImplementsSomeKeyword($rule) { - var impl = $rule.implements; - for (var i = 0; i < impl.length; i++) - if (it.schema[impl[i]] !== undefined) return true; - } - return out; -} diff --git a/node_modules/ajv/lib/keyword.js b/node_modules/ajv/lib/keyword.js deleted file mode 100644 index 06da9a2..0000000 --- a/node_modules/ajv/lib/keyword.js +++ /dev/null @@ -1,146 +0,0 @@ -'use strict'; - -var IDENTIFIER = /^[a-z_$][a-z0-9_$-]*$/i; -var customRuleCode = require('./dotjs/custom'); -var definitionSchema = require('./definition_schema'); - -module.exports = { - add: addKeyword, - get: getKeyword, - remove: removeKeyword, - validate: validateKeyword -}; - - -/** - * Define custom keyword - * @this Ajv - * @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords). - * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`. - * @return {Ajv} this for method chaining - */ -function addKeyword(keyword, definition) { - /* jshint validthis: true */ - /* eslint no-shadow: 0 */ - var RULES = this.RULES; - if (RULES.keywords[keyword]) - throw new Error('Keyword ' + keyword + ' is already defined'); - - if (!IDENTIFIER.test(keyword)) - throw new Error('Keyword ' + keyword + ' is not a valid identifier'); - - if (definition) { - this.validateKeyword(definition, true); - - var dataType = definition.type; - if (Array.isArray(dataType)) { - for (var i=0; i ../ajv-dist/bower.json - cd ../ajv-dist - - if [[ `git status --porcelain` ]]; then - echo "Changes detected. Updating master branch..." - git add -A - git commit -m "updated by travis build #$TRAVIS_BUILD_NUMBER" - git push --quiet origin master > /dev/null 2>&1 - fi - - echo "Publishing tag..." - - git tag $TRAVIS_TAG - git push --tags > /dev/null 2>&1 - - echo "Done" -fi diff --git a/node_modules/ajv/scripts/travis-gh-pages b/node_modules/ajv/scripts/travis-gh-pages deleted file mode 100644 index b3d4f3d..0000000 --- a/node_modules/ajv/scripts/travis-gh-pages +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" && $TRAVIS_JOB_NUMBER =~ ".3" ]]; then - git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qE '\.md$|^LICENSE$|travis-gh-pages$' && { - rm -rf ../gh-pages - git clone -b gh-pages --single-branch https://${GITHUB_TOKEN}@github.com/ajv-validator/ajv.git ../gh-pages - mkdir -p ../gh-pages/_source - cp *.md ../gh-pages/_source - cp LICENSE ../gh-pages/_source - currentDir=$(pwd) - cd ../gh-pages - $currentDir/node_modules/.bin/gh-pages-generator - # remove logo from README - sed -i -E "s/]+ajv_logo[^>]+>//" index.md - git config user.email "$GIT_USER_EMAIL" - git config user.name "$GIT_USER_NAME" - git add . - git commit -am "updated by travis build #$TRAVIS_BUILD_NUMBER" - git push --quiet origin gh-pages > /dev/null 2>&1 - } -fi diff --git a/node_modules/asana/.github/workflows/build.yml b/node_modules/asana/.github/workflows/build.yml deleted file mode 100644 index 157f14a..0000000 --- a/node_modules/asana/.github/workflows/build.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Build - -on: - push: - branches: - - master - pull_request: - branches: - - master - -jobs: - test: - name: Run npm build and npm test - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [8.x, 9.x, 12.x] - steps: - - uses: actions/checkout@v3 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - - name: Install dependencies - run: npm i - - run: npm run build --if-present - - run: npm test \ No newline at end of file diff --git a/node_modules/asana/.github/workflows/publish-to-github-releases.yml b/node_modules/asana/.github/workflows/publish-to-github-releases.yml deleted file mode 100644 index 54259cb..0000000 --- a/node_modules/asana/.github/workflows/publish-to-github-releases.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Publish to GitHub Releases - -on: - push: - tags: - - "v*.*.*" - -jobs: - build-n-publish-to-github: - name: Build and publish to GitHub Releases - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '8.x' - - name: Bundle the code, full version to asana.js and minified to asana-min.js - run: | - npm i gulp - gulp bundle - - name: Publish to GitHub Releases - uses: softprops/action-gh-release@v1 - with: - files: | - dist/asana.js - dist/asana-min.js \ No newline at end of file diff --git a/node_modules/asana/.github/workflows/publish-to-npmjs.yml b/node_modules/asana/.github/workflows/publish-to-npmjs.yml deleted file mode 100644 index 41bfacc..0000000 --- a/node_modules/asana/.github/workflows/publish-to-npmjs.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Publish 📦 to npmjs - -on: - push: - tags: - - "v*.*.*" - -jobs: - build-n-publish-to-npmjs: - name: Build and publish 📦 to npmjs - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '8.x' - registry-url: 'https://registry.npmjs.com' - - run: npm i - - run: npm publish - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file diff --git a/node_modules/asana/.swagger-codegen-ignore b/node_modules/asana/.swagger-codegen-ignore deleted file mode 100644 index 2d15006..0000000 --- a/node_modules/asana/.swagger-codegen-ignore +++ /dev/null @@ -1,3 +0,0 @@ -# Swagger Codegen Ignore - -test/api/* diff --git a/node_modules/asana/CODE_OF_CONDUCT.md b/node_modules/asana/CODE_OF_CONDUCT.md deleted file mode 100644 index 01b8644..0000000 --- a/node_modules/asana/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,22 +0,0 @@ -# Contributor Code of Conduct - -As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. - -We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery -* Personal attacks -* Trolling or insulting/derogatory comments -* Public or private harassment -* Publishing other's private information, such as physical or electronic addresses, without explicit permission -* Other unethical or unprofessional conduct. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team. - -This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. - -This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) diff --git a/node_modules/asana/LICENSE b/node_modules/asana/LICENSE deleted file mode 100644 index 78727bd..0000000 --- a/node_modules/asana/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Phips Peter - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/node_modules/asana/README.md b/node_modules/asana/README.md deleted file mode 100644 index 9d5d723..0000000 --- a/node_modules/asana/README.md +++ /dev/null @@ -1,353 +0,0 @@ -# Asana [![GitHub release][release-image]]() [![Build Status][github-actions-image]][github-actions-url] [![NPM Version][npm-image]][npm-url] - -A JavaScript client (for both Node and browser) for the Asana API v1.0. - -## Installation - -### Node - -Install with npm: - -```sh -npm install asana --save -``` - -### Browser - -Include the latest release directly from GitHub. - -```html - -``` - -**OR:** - -1. Download the latest distribution in [releases](https://github.com/Asana/node-asana/releases). -2. Make sure to serve it from your webserver. -3. Include it on the client from a ` -``` - -## UMD - -`browser-request` is [UMD](https://github.com/umdjs/umd) wrapped, allowing you to serve it directly to the browser from wherever you store the module. - -```html - -``` - -You may also use an [AMD loader](http://requirejs.org/docs/whyamd.html) by referencing the same file in your loader [config](http://requirejs.org/docs/api.html#config). - -## License - -Browser Request is licensed under the Apache 2.0 license. - diff --git a/node_modules/browser-request/index.js b/node_modules/browser-request/index.js deleted file mode 100755 index 51ac8b4..0000000 --- a/node_modules/browser-request/index.js +++ /dev/null @@ -1,494 +0,0 @@ -// Browser Request -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// UMD HEADER START -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define([], factory); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like enviroments that support module.exports, - // like Node. - module.exports = factory(); - } else { - // Browser globals (root is window) - root.returnExports = factory(); - } -}(this, function () { -// UMD HEADER END - -var XHR = XMLHttpRequest -if (!XHR) throw new Error('missing XMLHttpRequest') -request.log = { - 'trace': noop, 'debug': noop, 'info': noop, 'warn': noop, 'error': noop -} - -var DEFAULT_TIMEOUT = 3 * 60 * 1000 // 3 minutes - -// -// request -// - -function request(options, callback) { - // The entry-point to the API: prep the options object and pass the real work to run_xhr. - if(typeof callback !== 'function') - throw new Error('Bad callback given: ' + callback) - - if(!options) - throw new Error('No options given') - - var options_onResponse = options.onResponse; // Save this for later. - - if(typeof options === 'string') - options = {'uri':options}; - else - options = JSON.parse(JSON.stringify(options)); // Use a duplicate for mutating. - - options.onResponse = options_onResponse // And put it back. - - if (options.verbose) request.log = getLogger(); - - if(options.url) { - options.uri = options.url; - delete options.url; - } - - if(!options.uri && options.uri !== "") - throw new Error("options.uri is a required argument"); - - if(typeof options.uri != "string") - throw new Error("options.uri must be a string"); - - var unsupported_options = ['proxy', '_redirectsFollowed', 'maxRedirects', 'followRedirect'] - for (var i = 0; i < unsupported_options.length; i++) - if(options[ unsupported_options[i] ]) - throw new Error("options." + unsupported_options[i] + " is not supported") - - options.callback = callback - options.method = options.method || 'GET'; - options.headers = options.headers || {}; - options.body = options.body || null - options.timeout = options.timeout || request.DEFAULT_TIMEOUT - - if(options.headers.host) - throw new Error("Options.headers.host is not supported"); - - if(options.json) { - options.headers.accept = options.headers.accept || 'application/json' - if(options.method !== 'GET') - options.headers['content-type'] = 'application/json' - - if(typeof options.json !== 'boolean') - options.body = JSON.stringify(options.json) - else if(typeof options.body !== 'string') - options.body = JSON.stringify(options.body) - } - - //BEGIN QS Hack - var serialize = function(obj) { - var str = []; - for(var p in obj) - if (obj.hasOwnProperty(p)) { - str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); - } - return str.join("&"); - } - - if(options.qs){ - var qs = (typeof options.qs == 'string')? options.qs : serialize(options.qs); - if(options.uri.indexOf('?') !== -1){ //no get params - options.uri = options.uri+'&'+qs; - }else{ //existing get params - options.uri = options.uri+'?'+qs; - } - } - //END QS Hack - - //BEGIN FORM Hack - var multipart = function(obj) { - //todo: support file type (useful?) - var result = {}; - result.boundry = '-------------------------------'+Math.floor(Math.random()*1000000000); - var lines = []; - for(var p in obj){ - if (obj.hasOwnProperty(p)) { - lines.push( - '--'+result.boundry+"\n"+ - 'Content-Disposition: form-data; name="'+p+'"'+"\n"+ - "\n"+ - obj[p]+"\n" - ); - } - } - lines.push( '--'+result.boundry+'--' ); - result.body = lines.join(''); - result.length = result.body.length; - result.type = 'multipart/form-data; boundary='+result.boundry; - return result; - } - - if(options.form){ - if(typeof options.form == 'string') throw('form name unsupported'); - if(options.method === 'POST'){ - var encoding = (options.encoding || 'application/x-www-form-urlencoded').toLowerCase(); - options.headers['content-type'] = encoding; - switch(encoding){ - case 'application/x-www-form-urlencoded': - options.body = serialize(options.form).replace(/%20/g, "+"); - break; - case 'multipart/form-data': - var multi = multipart(options.form); - //options.headers['content-length'] = multi.length; - options.body = multi.body; - options.headers['content-type'] = multi.type; - break; - default : throw new Error('unsupported encoding:'+encoding); - } - } - } - //END FORM Hack - - // If onResponse is boolean true, call back immediately when the response is known, - // not when the full request is complete. - options.onResponse = options.onResponse || noop - if(options.onResponse === true) { - options.onResponse = callback - options.callback = noop - } - - // XXX Browsers do not like this. - //if(options.body) - // options.headers['content-length'] = options.body.length; - - // HTTP basic authentication - if(!options.headers.authorization && options.auth) - options.headers.authorization = 'Basic ' + b64_enc(options.auth.username + ':' + options.auth.password); - - return run_xhr(options) -} - -var req_seq = 0 -function run_xhr(options) { - var xhr = new XHR - , timed_out = false - , is_cors = is_crossDomain(options.uri) - , supports_cors = ('withCredentials' in xhr) - - req_seq += 1 - xhr.seq_id = req_seq - xhr.id = req_seq + ': ' + options.method + ' ' + options.uri - xhr._id = xhr.id // I know I will type "_id" from habit all the time. - - if(is_cors && !supports_cors) { - var cors_err = new Error('Browser does not support cross-origin request: ' + options.uri) - cors_err.cors = 'unsupported' - return options.callback(cors_err, xhr) - } - - xhr.timeoutTimer = setTimeout(too_late, options.timeout) - function too_late() { - timed_out = true - var er = new Error('ETIMEDOUT') - er.code = 'ETIMEDOUT' - er.duration = options.timeout - - request.log.error('Timeout', { 'id':xhr._id, 'milliseconds':options.timeout }) - return options.callback(er, xhr) - } - - // Some states can be skipped over, so remember what is still incomplete. - var did = {'response':false, 'loading':false, 'end':false} - - xhr.onreadystatechange = on_state_change - xhr.open(options.method, options.uri, true) // asynchronous - if(is_cors) - xhr.withCredentials = !! options.withCredentials - xhr.send(options.body) - return xhr - - function on_state_change(event) { - if(timed_out) - return request.log.debug('Ignoring timed out state change', {'state':xhr.readyState, 'id':xhr.id}) - - request.log.debug('State change', {'state':xhr.readyState, 'id':xhr.id, 'timed_out':timed_out}) - - if(xhr.readyState === XHR.OPENED) { - request.log.debug('Request started', {'id':xhr.id}) - for (var key in options.headers) - xhr.setRequestHeader(key, options.headers[key]) - } - - else if(xhr.readyState === XHR.HEADERS_RECEIVED) - on_response() - - else if(xhr.readyState === XHR.LOADING) { - on_response() - on_loading() - } - - else if(xhr.readyState === XHR.DONE) { - on_response() - on_loading() - on_end() - } - } - - function on_response() { - if(did.response) - return - - did.response = true - request.log.debug('Got response', {'id':xhr.id, 'status':xhr.status}) - clearTimeout(xhr.timeoutTimer) - xhr.statusCode = xhr.status // Node request compatibility - - // Detect failed CORS requests. - if(is_cors && xhr.statusCode == 0) { - var cors_err = new Error('CORS request rejected: ' + options.uri) - cors_err.cors = 'rejected' - - // Do not process this request further. - did.loading = true - did.end = true - - return options.callback(cors_err, xhr) - } - - options.onResponse(null, xhr) - } - - function on_loading() { - if(did.loading) - return - - did.loading = true - request.log.debug('Response body loading', {'id':xhr.id}) - // TODO: Maybe simulate "data" events by watching xhr.responseText - } - - function on_end() { - if(did.end) - return - - did.end = true - request.log.debug('Request done', {'id':xhr.id}) - - xhr.body = xhr.responseText - if(options.json) { - try { xhr.body = JSON.parse(xhr.responseText) } - catch (er) { return options.callback(er, xhr) } - } - - options.callback(null, xhr, xhr.body) - } - -} // request - -request.withCredentials = false; -request.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT; - -// -// defaults -// - -request.defaults = function(options, requester) { - var def = function (method) { - var d = function (params, callback) { - if(typeof params === 'string') - params = {'uri': params}; - else { - params = JSON.parse(JSON.stringify(params)); - } - for (var i in options) { - if (params[i] === undefined) params[i] = options[i] - } - return method(params, callback) - } - return d - } - var de = def(request) - de.get = def(request.get) - de.post = def(request.post) - de.put = def(request.put) - de.head = def(request.head) - return de -} - -// -// HTTP method shortcuts -// - -var shortcuts = [ 'get', 'put', 'post', 'head' ]; -shortcuts.forEach(function(shortcut) { - var method = shortcut.toUpperCase(); - var func = shortcut.toLowerCase(); - - request[func] = function(opts) { - if(typeof opts === 'string') - opts = {'method':method, 'uri':opts}; - else { - opts = JSON.parse(JSON.stringify(opts)); - opts.method = method; - } - - var args = [opts].concat(Array.prototype.slice.apply(arguments, [1])); - return request.apply(this, args); - } -}) - -// -// CouchDB shortcut -// - -request.couch = function(options, callback) { - if(typeof options === 'string') - options = {'uri':options} - - // Just use the request API to do JSON. - options.json = true - if(options.body) - options.json = options.body - delete options.body - - callback = callback || noop - - var xhr = request(options, couch_handler) - return xhr - - function couch_handler(er, resp, body) { - if(er) - return callback(er, resp, body) - - if((resp.statusCode < 200 || resp.statusCode > 299) && body.error) { - // The body is a Couch JSON object indicating the error. - er = new Error('CouchDB error: ' + (body.error.reason || body.error.error)) - for (var key in body) - er[key] = body[key] - return callback(er, resp, body); - } - - return callback(er, resp, body); - } -} - -// -// Utility -// - -function noop() {} - -function getLogger() { - var logger = {} - , levels = ['trace', 'debug', 'info', 'warn', 'error'] - , level, i - - for(i = 0; i < levels.length; i++) { - level = levels[i] - - logger[level] = noop - if(typeof console !== 'undefined' && console && console[level]) - logger[level] = formatted(console, level) - } - - return logger -} - -function formatted(obj, method) { - return formatted_logger - - function formatted_logger(str, context) { - if(typeof context === 'object') - str += ' ' + JSON.stringify(context) - - return obj[method].call(obj, str) - } -} - -// Return whether a URL is a cross-domain request. -function is_crossDomain(url) { - var rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/ - - // jQuery #8138, IE may throw an exception when accessing - // a field from window.location if document.domain has been set - var ajaxLocation - try { ajaxLocation = location.href } - catch (e) { - // Use the href attribute of an A element since IE will modify it given document.location - ajaxLocation = document.createElement( "a" ); - ajaxLocation.href = ""; - ajaxLocation = ajaxLocation.href; - } - - var ajaxLocParts = rurl.exec(ajaxLocation.toLowerCase()) || [] - , parts = rurl.exec(url.toLowerCase() ) - - var result = !!( - parts && - ( parts[1] != ajaxLocParts[1] - || parts[2] != ajaxLocParts[2] - || (parts[3] || (parts[1] === "http:" ? 80 : 443)) != (ajaxLocParts[3] || (ajaxLocParts[1] === "http:" ? 80 : 443)) - ) - ) - - //console.debug('is_crossDomain('+url+') -> ' + result) - return result -} - -// MIT License from http://phpjs.org/functions/base64_encode:358 -function b64_enc (data) { - // Encodes string using MIME base64 algorithm - var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = []; - - if (!data) { - return data; - } - - // assume utf8 data - // data = this.utf8_encode(data+''); - - do { // pack three octets into four hexets - o1 = data.charCodeAt(i++); - o2 = data.charCodeAt(i++); - o3 = data.charCodeAt(i++); - - bits = o1<<16 | o2<<8 | o3; - - h1 = bits>>18 & 0x3f; - h2 = bits>>12 & 0x3f; - h3 = bits>>6 & 0x3f; - h4 = bits & 0x3f; - - // use hexets to index into b64, and append result to encoded string - tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4); - } while (i < data.length); - - enc = tmp_arr.join(''); - - switch (data.length % 3) { - case 1: - enc = enc.slice(0, -2) + '=='; - break; - case 2: - enc = enc.slice(0, -1) + '='; - break; - } - - return enc; -} - return request; -//UMD FOOTER START -})); -//UMD FOOTER END diff --git a/node_modules/browser-request/package.json b/node_modules/browser-request/package.json deleted file mode 100644 index a0ed0cd..0000000 --- a/node_modules/browser-request/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "browser-request", - "version": "0.3.3", - "author": { - "name": "Jason Smith", - "email": "jhs@iriscouch.com" - }, - "description": "Browser port of the Node.js 'request' package", - "keywords": [ - "request", - "http", - "browser", - "browserify" - ], - "homepage": "http://github.com/iriscouch/browser-request", - "repository": { - "type": "git", - "url": "git://github.com/iriscouch/browser-request" - }, - "scripts": { - "test": "beefy test.js" - }, - "devDependencies": { - "tape": "~1.0.4", - "beefy": "~0.4.0", - "browserify": "~2.25.0" - }, - "engines": [ - "node" - ], - "testling": { - "files": "test.js", - "browsers": [ - "ie/6..latest", - "firefox/3..5", - "firefox/19..nightly", - "chrome/4..7", - "chrome/24..canary", - "opera/10..next", - "safari/4..latest", - "iphone/6", - "ipad/6" - ] - } -} diff --git a/node_modules/browser-request/test.js b/node_modules/browser-request/test.js deleted file mode 100644 index f427f23..0000000 --- a/node_modules/browser-request/test.js +++ /dev/null @@ -1,20 +0,0 @@ -var test = require('tape') - -var request = require('./') - -test('try a CORS GET', function (t) { - var url = 'https://www.googleapis.com/plus/v1/activities' - request(url, function(err, resp, body) { - t.equal(resp.statusCode, 400) - t.equal(!!resp.body.match(/Required parameter/), true) - t.end() - }) -}) - -test('json true', function (t) { - var url = 'https://www.googleapis.com/plus/v1/activities' - request({url: url, json: true}, function(err, resp, body) { - t.equal(body.error.code, 400) - t.end() - }) -}) diff --git a/node_modules/caseless/LICENSE b/node_modules/caseless/LICENSE deleted file mode 100644 index 61789f4..0000000 --- a/node_modules/caseless/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -1. Definitions. -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -You must give any other recipients of the Work or Derivative Works a copy of this License; and -You must cause any modified files to carry prominent notices stating that You changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/node_modules/caseless/README.md b/node_modules/caseless/README.md deleted file mode 100644 index e5077a2..0000000 --- a/node_modules/caseless/README.md +++ /dev/null @@ -1,45 +0,0 @@ -## Caseless -- wrap an object to set and get property with caseless semantics but also preserve caseing. - -This library is incredibly useful when working with HTTP headers. It allows you to get/set/check for headers in a caseless manner while also preserving the caseing of headers the first time they are set. - -## Usage - -```javascript -var headers = {} - , c = caseless(headers) - ; -c.set('a-Header', 'asdf') -c.get('a-header') === 'asdf' -``` - -## has(key) - -Has takes a name and if it finds a matching header will return that header name with the preserved caseing it was set with. - -```javascript -c.has('a-header') === 'a-Header' -``` - -## set(key, value[, clobber=true]) - -Set is fairly straight forward except that if the header exists and clobber is disabled it will add `','+value` to the existing header. - -```javascript -c.set('a-Header', 'fdas') -c.set('a-HEADER', 'more', false) -c.get('a-header') === 'fdsa,more' -``` - -## swap(key) - -Swaps the casing of a header with the new one that is passed in. - -```javascript -var headers = {} - , c = caseless(headers) - ; -c.set('a-Header', 'fdas') -c.swap('a-HEADER') -c.has('a-header') === 'a-HEADER' -headers === {'a-HEADER': 'fdas'} -``` diff --git a/node_modules/caseless/index.js b/node_modules/caseless/index.js deleted file mode 100644 index b194734..0000000 --- a/node_modules/caseless/index.js +++ /dev/null @@ -1,67 +0,0 @@ -function Caseless (dict) { - this.dict = dict || {} -} -Caseless.prototype.set = function (name, value, clobber) { - if (typeof name === 'object') { - for (var i in name) { - this.set(i, name[i], value) - } - } else { - if (typeof clobber === 'undefined') clobber = true - var has = this.has(name) - - if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value - else this.dict[has || name] = value - return has - } -} -Caseless.prototype.has = function (name) { - var keys = Object.keys(this.dict) - , name = name.toLowerCase() - ; - for (var i=0;i", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/mikeal/caseless/issues" - }, - "devDependencies": { - "tape": "^2.10.2" - } -} diff --git a/node_modules/caseless/test.js b/node_modules/caseless/test.js deleted file mode 100644 index f55196c..0000000 --- a/node_modules/caseless/test.js +++ /dev/null @@ -1,67 +0,0 @@ -var tape = require('tape') - , caseless = require('./') - ; - -tape('set get has', function (t) { - var headers = {} - , c = caseless(headers) - ; - t.plan(17) - c.set('a-Header', 'asdf') - t.equal(c.get('a-header'), 'asdf') - t.equal(c.has('a-header'), 'a-Header') - t.ok(!c.has('nothing')) - // old bug where we used the wrong regex - t.ok(!c.has('a-hea')) - c.set('a-header', 'fdsa') - t.equal(c.get('a-header'), 'fdsa') - t.equal(c.get('a-Header'), 'fdsa') - c.set('a-HEADER', 'more', false) - t.equal(c.get('a-header'), 'fdsa,more') - - t.deepEqual(headers, {'a-Header': 'fdsa,more'}) - c.swap('a-HEADER') - t.deepEqual(headers, {'a-HEADER': 'fdsa,more'}) - - c.set('deleteme', 'foobar') - t.ok(c.has('deleteme')) - t.ok(c.del('deleteme')) - t.notOk(c.has('deleteme')) - t.notOk(c.has('idonotexist')) - t.ok(c.del('idonotexist')) - - c.set('tva', 'test1') - c.set('tva-header', 'test2') - t.equal(c.has('tva'), 'tva') - t.notOk(c.has('header')) - - t.equal(c.get('tva'), 'test1') - -}) - -tape('swap', function (t) { - var headers = {} - , c = caseless(headers) - ; - t.plan(4) - // No Header to Swap. - t.throws(function () { - c.swap('content-type') - }) - // Set Header. - c.set('content-type', 'application/json') - // Swap Header With Itself. - c.swap('content-type') - // Does Not Delete Itself. - t.ok(c.has('content-type')) - // Swap Header With a Different Header. - c.swap('Content-Type') - // Still Has Header. - t.ok(c.has('Content-Type')) - // Delete Header. - c.del('Content-Type') - // No Header to Swap. - t.throws(function () { - c.swap('content-type') - }) -}) diff --git a/node_modules/combined-stream/License b/node_modules/combined-stream/License deleted file mode 100644 index 4804b7a..0000000 --- a/node_modules/combined-stream/License +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011 Debuggable Limited - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/node_modules/combined-stream/Readme.md b/node_modules/combined-stream/Readme.md deleted file mode 100644 index 9e367b5..0000000 --- a/node_modules/combined-stream/Readme.md +++ /dev/null @@ -1,138 +0,0 @@ -# combined-stream - -A stream that emits multiple other streams one after another. - -**NB** Currently `combined-stream` works with streams version 1 only. There is ongoing effort to switch this library to streams version 2. Any help is welcome. :) Meanwhile you can explore other libraries that provide streams2 support with more or less compatibility with `combined-stream`. - -- [combined-stream2](https://www.npmjs.com/package/combined-stream2): A drop-in streams2-compatible replacement for the combined-stream module. - -- [multistream](https://www.npmjs.com/package/multistream): A stream that emits multiple other streams one after another. - -## Installation - -``` bash -npm install combined-stream -``` - -## Usage - -Here is a simple example that shows how you can use combined-stream to combine -two files into one: - -``` javascript -var CombinedStream = require('combined-stream'); -var fs = require('fs'); - -var combinedStream = CombinedStream.create(); -combinedStream.append(fs.createReadStream('file1.txt')); -combinedStream.append(fs.createReadStream('file2.txt')); - -combinedStream.pipe(fs.createWriteStream('combined.txt')); -``` - -While the example above works great, it will pause all source streams until -they are needed. If you don't want that to happen, you can set `pauseStreams` -to `false`: - -``` javascript -var CombinedStream = require('combined-stream'); -var fs = require('fs'); - -var combinedStream = CombinedStream.create({pauseStreams: false}); -combinedStream.append(fs.createReadStream('file1.txt')); -combinedStream.append(fs.createReadStream('file2.txt')); - -combinedStream.pipe(fs.createWriteStream('combined.txt')); -``` - -However, what if you don't have all the source streams yet, or you don't want -to allocate the resources (file descriptors, memory, etc.) for them right away? -Well, in that case you can simply provide a callback that supplies the stream -by calling a `next()` function: - -``` javascript -var CombinedStream = require('combined-stream'); -var fs = require('fs'); - -var combinedStream = CombinedStream.create(); -combinedStream.append(function(next) { - next(fs.createReadStream('file1.txt')); -}); -combinedStream.append(function(next) { - next(fs.createReadStream('file2.txt')); -}); - -combinedStream.pipe(fs.createWriteStream('combined.txt')); -``` - -## API - -### CombinedStream.create([options]) - -Returns a new combined stream object. Available options are: - -* `maxDataSize` -* `pauseStreams` - -The effect of those options is described below. - -### combinedStream.pauseStreams = `true` - -Whether to apply back pressure to the underlaying streams. If set to `false`, -the underlaying streams will never be paused. If set to `true`, the -underlaying streams will be paused right after being appended, as well as when -`delayedStream.pipe()` wants to throttle. - -### combinedStream.maxDataSize = `2 * 1024 * 1024` - -The maximum amount of bytes (or characters) to buffer for all source streams. -If this value is exceeded, `combinedStream` emits an `'error'` event. - -### combinedStream.dataSize = `0` - -The amount of bytes (or characters) currently buffered by `combinedStream`. - -### combinedStream.append(stream) - -Appends the given `stream` to the combinedStream object. If `pauseStreams` is -set to `true, this stream will also be paused right away. - -`streams` can also be a function that takes one parameter called `next`. `next` -is a function that must be invoked in order to provide the `next` stream, see -example above. - -Regardless of how the `stream` is appended, combined-stream always attaches an -`'error'` listener to it, so you don't have to do that manually. - -Special case: `stream` can also be a String or Buffer. - -### combinedStream.write(data) - -You should not call this, `combinedStream` takes care of piping the appended -streams into itself for you. - -### combinedStream.resume() - -Causes `combinedStream` to start drain the streams it manages. The function is -idempotent, and also emits a `'resume'` event each time which usually goes to -the stream that is currently being drained. - -### combinedStream.pause(); - -If `combinedStream.pauseStreams` is set to `false`, this does nothing. -Otherwise a `'pause'` event is emitted, this goes to the stream that is -currently being drained, so you can use it to apply back pressure. - -### combinedStream.end(); - -Sets `combinedStream.writable` to false, emits an `'end'` event, and removes -all streams from the queue. - -### combinedStream.destroy(); - -Same as `combinedStream.end()`, except it emits a `'close'` event instead of -`'end'`. - -## License - -combined-stream is licensed under the MIT license. diff --git a/node_modules/combined-stream/lib/combined_stream.js b/node_modules/combined-stream/lib/combined_stream.js deleted file mode 100644 index 125f097..0000000 --- a/node_modules/combined-stream/lib/combined_stream.js +++ /dev/null @@ -1,208 +0,0 @@ -var util = require('util'); -var Stream = require('stream').Stream; -var DelayedStream = require('delayed-stream'); - -module.exports = CombinedStream; -function CombinedStream() { - this.writable = false; - this.readable = true; - this.dataSize = 0; - this.maxDataSize = 2 * 1024 * 1024; - this.pauseStreams = true; - - this._released = false; - this._streams = []; - this._currentStream = null; - this._insideLoop = false; - this._pendingNext = false; -} -util.inherits(CombinedStream, Stream); - -CombinedStream.create = function(options) { - var combinedStream = new this(); - - options = options || {}; - for (var option in options) { - combinedStream[option] = options[option]; - } - - return combinedStream; -}; - -CombinedStream.isStreamLike = function(stream) { - return (typeof stream !== 'function') - && (typeof stream !== 'string') - && (typeof stream !== 'boolean') - && (typeof stream !== 'number') - && (!Buffer.isBuffer(stream)); -}; - -CombinedStream.prototype.append = function(stream) { - var isStreamLike = CombinedStream.isStreamLike(stream); - - if (isStreamLike) { - if (!(stream instanceof DelayedStream)) { - var newStream = DelayedStream.create(stream, { - maxDataSize: Infinity, - pauseStream: this.pauseStreams, - }); - stream.on('data', this._checkDataSize.bind(this)); - stream = newStream; - } - - this._handleErrors(stream); - - if (this.pauseStreams) { - stream.pause(); - } - } - - this._streams.push(stream); - return this; -}; - -CombinedStream.prototype.pipe = function(dest, options) { - Stream.prototype.pipe.call(this, dest, options); - this.resume(); - return dest; -}; - -CombinedStream.prototype._getNext = function() { - this._currentStream = null; - - if (this._insideLoop) { - this._pendingNext = true; - return; // defer call - } - - this._insideLoop = true; - try { - do { - this._pendingNext = false; - this._realGetNext(); - } while (this._pendingNext); - } finally { - this._insideLoop = false; - } -}; - -CombinedStream.prototype._realGetNext = function() { - var stream = this._streams.shift(); - - - if (typeof stream == 'undefined') { - this.end(); - return; - } - - if (typeof stream !== 'function') { - this._pipeNext(stream); - return; - } - - var getStream = stream; - getStream(function(stream) { - var isStreamLike = CombinedStream.isStreamLike(stream); - if (isStreamLike) { - stream.on('data', this._checkDataSize.bind(this)); - this._handleErrors(stream); - } - - this._pipeNext(stream); - }.bind(this)); -}; - -CombinedStream.prototype._pipeNext = function(stream) { - this._currentStream = stream; - - var isStreamLike = CombinedStream.isStreamLike(stream); - if (isStreamLike) { - stream.on('end', this._getNext.bind(this)); - stream.pipe(this, {end: false}); - return; - } - - var value = stream; - this.write(value); - this._getNext(); -}; - -CombinedStream.prototype._handleErrors = function(stream) { - var self = this; - stream.on('error', function(err) { - self._emitError(err); - }); -}; - -CombinedStream.prototype.write = function(data) { - this.emit('data', data); -}; - -CombinedStream.prototype.pause = function() { - if (!this.pauseStreams) { - return; - } - - if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause(); - this.emit('pause'); -}; - -CombinedStream.prototype.resume = function() { - if (!this._released) { - this._released = true; - this.writable = true; - this._getNext(); - } - - if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume(); - this.emit('resume'); -}; - -CombinedStream.prototype.end = function() { - this._reset(); - this.emit('end'); -}; - -CombinedStream.prototype.destroy = function() { - this._reset(); - this.emit('close'); -}; - -CombinedStream.prototype._reset = function() { - this.writable = false; - this._streams = []; - this._currentStream = null; -}; - -CombinedStream.prototype._checkDataSize = function() { - this._updateDataSize(); - if (this.dataSize <= this.maxDataSize) { - return; - } - - var message = - 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'; - this._emitError(new Error(message)); -}; - -CombinedStream.prototype._updateDataSize = function() { - this.dataSize = 0; - - var self = this; - this._streams.forEach(function(stream) { - if (!stream.dataSize) { - return; - } - - self.dataSize += stream.dataSize; - }); - - if (this._currentStream && this._currentStream.dataSize) { - this.dataSize += this._currentStream.dataSize; - } -}; - -CombinedStream.prototype._emitError = function(err) { - this._reset(); - this.emit('error', err); -}; diff --git a/node_modules/combined-stream/package.json b/node_modules/combined-stream/package.json deleted file mode 100644 index 6982b6d..0000000 --- a/node_modules/combined-stream/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "author": "Felix Geisendörfer (http://debuggable.com/)", - "name": "combined-stream", - "description": "A stream that emits multiple other streams one after another.", - "version": "1.0.8", - "homepage": "https://github.com/felixge/node-combined-stream", - "repository": { - "type": "git", - "url": "git://github.com/felixge/node-combined-stream.git" - }, - "main": "./lib/combined_stream", - "scripts": { - "test": "node test/run.js" - }, - "engines": { - "node": ">= 0.8" - }, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "devDependencies": { - "far": "~0.0.7" - }, - "license": "MIT" -} diff --git a/node_modules/combined-stream/yarn.lock b/node_modules/combined-stream/yarn.lock deleted file mode 100644 index 7edf418..0000000 --- a/node_modules/combined-stream/yarn.lock +++ /dev/null @@ -1,17 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -far@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/far/-/far-0.0.7.tgz#01c1fd362bcd26ce9cf161af3938aa34619f79a7" - dependencies: - oop "0.0.3" - -oop@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/oop/-/oop-0.0.3.tgz#70fa405a5650891a194fdc82ca68dad6dabf4401" diff --git a/node_modules/core-util-is/LICENSE b/node_modules/core-util-is/LICENSE deleted file mode 100644 index d8d7f94..0000000 --- a/node_modules/core-util-is/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright Node.js contributors. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. diff --git a/node_modules/core-util-is/README.md b/node_modules/core-util-is/README.md deleted file mode 100644 index 5a76b41..0000000 --- a/node_modules/core-util-is/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# core-util-is - -The `util.is*` functions introduced in Node v0.12. diff --git a/node_modules/core-util-is/float.patch b/node_modules/core-util-is/float.patch deleted file mode 100644 index a06d5c0..0000000 --- a/node_modules/core-util-is/float.patch +++ /dev/null @@ -1,604 +0,0 @@ -diff --git a/lib/util.js b/lib/util.js -index a03e874..9074e8e 100644 ---- a/lib/util.js -+++ b/lib/util.js -@@ -19,430 +19,6 @@ - // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - // USE OR OTHER DEALINGS IN THE SOFTWARE. - --var formatRegExp = /%[sdj%]/g; --exports.format = function(f) { -- if (!isString(f)) { -- var objects = []; -- for (var i = 0; i < arguments.length; i++) { -- objects.push(inspect(arguments[i])); -- } -- return objects.join(' '); -- } -- -- var i = 1; -- var args = arguments; -- var len = args.length; -- var str = String(f).replace(formatRegExp, function(x) { -- if (x === '%%') return '%'; -- if (i >= len) return x; -- switch (x) { -- case '%s': return String(args[i++]); -- case '%d': return Number(args[i++]); -- case '%j': -- try { -- return JSON.stringify(args[i++]); -- } catch (_) { -- return '[Circular]'; -- } -- default: -- return x; -- } -- }); -- for (var x = args[i]; i < len; x = args[++i]) { -- if (isNull(x) || !isObject(x)) { -- str += ' ' + x; -- } else { -- str += ' ' + inspect(x); -- } -- } -- return str; --}; -- -- --// Mark that a method should not be used. --// Returns a modified function which warns once by default. --// If --no-deprecation is set, then it is a no-op. --exports.deprecate = function(fn, msg) { -- // Allow for deprecating things in the process of starting up. -- if (isUndefined(global.process)) { -- return function() { -- return exports.deprecate(fn, msg).apply(this, arguments); -- }; -- } -- -- if (process.noDeprecation === true) { -- return fn; -- } -- -- var warned = false; -- function deprecated() { -- if (!warned) { -- if (process.throwDeprecation) { -- throw new Error(msg); -- } else if (process.traceDeprecation) { -- console.trace(msg); -- } else { -- console.error(msg); -- } -- warned = true; -- } -- return fn.apply(this, arguments); -- } -- -- return deprecated; --}; -- -- --var debugs = {}; --var debugEnviron; --exports.debuglog = function(set) { -- if (isUndefined(debugEnviron)) -- debugEnviron = process.env.NODE_DEBUG || ''; -- set = set.toUpperCase(); -- if (!debugs[set]) { -- if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { -- var pid = process.pid; -- debugs[set] = function() { -- var msg = exports.format.apply(exports, arguments); -- console.error('%s %d: %s', set, pid, msg); -- }; -- } else { -- debugs[set] = function() {}; -- } -- } -- return debugs[set]; --}; -- -- --/** -- * Echos the value of a value. Trys to print the value out -- * in the best way possible given the different types. -- * -- * @param {Object} obj The object to print out. -- * @param {Object} opts Optional options object that alters the output. -- */ --/* legacy: obj, showHidden, depth, colors*/ --function inspect(obj, opts) { -- // default options -- var ctx = { -- seen: [], -- stylize: stylizeNoColor -- }; -- // legacy... -- if (arguments.length >= 3) ctx.depth = arguments[2]; -- if (arguments.length >= 4) ctx.colors = arguments[3]; -- if (isBoolean(opts)) { -- // legacy... -- ctx.showHidden = opts; -- } else if (opts) { -- // got an "options" object -- exports._extend(ctx, opts); -- } -- // set default options -- if (isUndefined(ctx.showHidden)) ctx.showHidden = false; -- if (isUndefined(ctx.depth)) ctx.depth = 2; -- if (isUndefined(ctx.colors)) ctx.colors = false; -- if (isUndefined(ctx.customInspect)) ctx.customInspect = true; -- if (ctx.colors) ctx.stylize = stylizeWithColor; -- return formatValue(ctx, obj, ctx.depth); --} --exports.inspect = inspect; -- -- --// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics --inspect.colors = { -- 'bold' : [1, 22], -- 'italic' : [3, 23], -- 'underline' : [4, 24], -- 'inverse' : [7, 27], -- 'white' : [37, 39], -- 'grey' : [90, 39], -- 'black' : [30, 39], -- 'blue' : [34, 39], -- 'cyan' : [36, 39], -- 'green' : [32, 39], -- 'magenta' : [35, 39], -- 'red' : [31, 39], -- 'yellow' : [33, 39] --}; -- --// Don't use 'blue' not visible on cmd.exe --inspect.styles = { -- 'special': 'cyan', -- 'number': 'yellow', -- 'boolean': 'yellow', -- 'undefined': 'grey', -- 'null': 'bold', -- 'string': 'green', -- 'date': 'magenta', -- // "name": intentionally not styling -- 'regexp': 'red' --}; -- -- --function stylizeWithColor(str, styleType) { -- var style = inspect.styles[styleType]; -- -- if (style) { -- return '\u001b[' + inspect.colors[style][0] + 'm' + str + -- '\u001b[' + inspect.colors[style][1] + 'm'; -- } else { -- return str; -- } --} -- -- --function stylizeNoColor(str, styleType) { -- return str; --} -- -- --function arrayToHash(array) { -- var hash = {}; -- -- array.forEach(function(val, idx) { -- hash[val] = true; -- }); -- -- return hash; --} -- -- --function formatValue(ctx, value, recurseTimes) { -- // Provide a hook for user-specified inspect functions. -- // Check that value is an object with an inspect function on it -- if (ctx.customInspect && -- value && -- isFunction(value.inspect) && -- // Filter out the util module, it's inspect function is special -- value.inspect !== exports.inspect && -- // Also filter out any prototype objects using the circular check. -- !(value.constructor && value.constructor.prototype === value)) { -- var ret = value.inspect(recurseTimes, ctx); -- if (!isString(ret)) { -- ret = formatValue(ctx, ret, recurseTimes); -- } -- return ret; -- } -- -- // Primitive types cannot have properties -- var primitive = formatPrimitive(ctx, value); -- if (primitive) { -- return primitive; -- } -- -- // Look up the keys of the object. -- var keys = Object.keys(value); -- var visibleKeys = arrayToHash(keys); -- -- if (ctx.showHidden) { -- keys = Object.getOwnPropertyNames(value); -- } -- -- // Some type of object without properties can be shortcutted. -- if (keys.length === 0) { -- if (isFunction(value)) { -- var name = value.name ? ': ' + value.name : ''; -- return ctx.stylize('[Function' + name + ']', 'special'); -- } -- if (isRegExp(value)) { -- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); -- } -- if (isDate(value)) { -- return ctx.stylize(Date.prototype.toString.call(value), 'date'); -- } -- if (isError(value)) { -- return formatError(value); -- } -- } -- -- var base = '', array = false, braces = ['{', '}']; -- -- // Make Array say that they are Array -- if (isArray(value)) { -- array = true; -- braces = ['[', ']']; -- } -- -- // Make functions say that they are functions -- if (isFunction(value)) { -- var n = value.name ? ': ' + value.name : ''; -- base = ' [Function' + n + ']'; -- } -- -- // Make RegExps say that they are RegExps -- if (isRegExp(value)) { -- base = ' ' + RegExp.prototype.toString.call(value); -- } -- -- // Make dates with properties first say the date -- if (isDate(value)) { -- base = ' ' + Date.prototype.toUTCString.call(value); -- } -- -- // Make error with message first say the error -- if (isError(value)) { -- base = ' ' + formatError(value); -- } -- -- if (keys.length === 0 && (!array || value.length == 0)) { -- return braces[0] + base + braces[1]; -- } -- -- if (recurseTimes < 0) { -- if (isRegExp(value)) { -- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); -- } else { -- return ctx.stylize('[Object]', 'special'); -- } -- } -- -- ctx.seen.push(value); -- -- var output; -- if (array) { -- output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); -- } else { -- output = keys.map(function(key) { -- return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); -- }); -- } -- -- ctx.seen.pop(); -- -- return reduceToSingleString(output, base, braces); --} -- -- --function formatPrimitive(ctx, value) { -- if (isUndefined(value)) -- return ctx.stylize('undefined', 'undefined'); -- if (isString(value)) { -- var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') -- .replace(/'/g, "\\'") -- .replace(/\\"/g, '"') + '\''; -- return ctx.stylize(simple, 'string'); -- } -- if (isNumber(value)) { -- // Format -0 as '-0'. Strict equality won't distinguish 0 from -0, -- // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 . -- if (value === 0 && 1 / value < 0) -- return ctx.stylize('-0', 'number'); -- return ctx.stylize('' + value, 'number'); -- } -- if (isBoolean(value)) -- return ctx.stylize('' + value, 'boolean'); -- // For some reason typeof null is "object", so special case here. -- if (isNull(value)) -- return ctx.stylize('null', 'null'); --} -- -- --function formatError(value) { -- return '[' + Error.prototype.toString.call(value) + ']'; --} -- -- --function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { -- var output = []; -- for (var i = 0, l = value.length; i < l; ++i) { -- if (hasOwnProperty(value, String(i))) { -- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, -- String(i), true)); -- } else { -- output.push(''); -- } -- } -- keys.forEach(function(key) { -- if (!key.match(/^\d+$/)) { -- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, -- key, true)); -- } -- }); -- return output; --} -- -- --function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { -- var name, str, desc; -- desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; -- if (desc.get) { -- if (desc.set) { -- str = ctx.stylize('[Getter/Setter]', 'special'); -- } else { -- str = ctx.stylize('[Getter]', 'special'); -- } -- } else { -- if (desc.set) { -- str = ctx.stylize('[Setter]', 'special'); -- } -- } -- if (!hasOwnProperty(visibleKeys, key)) { -- name = '[' + key + ']'; -- } -- if (!str) { -- if (ctx.seen.indexOf(desc.value) < 0) { -- if (isNull(recurseTimes)) { -- str = formatValue(ctx, desc.value, null); -- } else { -- str = formatValue(ctx, desc.value, recurseTimes - 1); -- } -- if (str.indexOf('\n') > -1) { -- if (array) { -- str = str.split('\n').map(function(line) { -- return ' ' + line; -- }).join('\n').substr(2); -- } else { -- str = '\n' + str.split('\n').map(function(line) { -- return ' ' + line; -- }).join('\n'); -- } -- } -- } else { -- str = ctx.stylize('[Circular]', 'special'); -- } -- } -- if (isUndefined(name)) { -- if (array && key.match(/^\d+$/)) { -- return str; -- } -- name = JSON.stringify('' + key); -- if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { -- name = name.substr(1, name.length - 2); -- name = ctx.stylize(name, 'name'); -- } else { -- name = name.replace(/'/g, "\\'") -- .replace(/\\"/g, '"') -- .replace(/(^"|"$)/g, "'"); -- name = ctx.stylize(name, 'string'); -- } -- } -- -- return name + ': ' + str; --} -- -- --function reduceToSingleString(output, base, braces) { -- var numLinesEst = 0; -- var length = output.reduce(function(prev, cur) { -- numLinesEst++; -- if (cur.indexOf('\n') >= 0) numLinesEst++; -- return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; -- }, 0); -- -- if (length > 60) { -- return braces[0] + -- (base === '' ? '' : base + '\n ') + -- ' ' + -- output.join(',\n ') + -- ' ' + -- braces[1]; -- } -- -- return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; --} -- -- - // NOTE: These type checking functions intentionally don't use `instanceof` - // because it is fragile and can be easily faked with `Object.create()`. - function isArray(ar) { -@@ -522,166 +98,10 @@ function isPrimitive(arg) { - exports.isPrimitive = isPrimitive; - - function isBuffer(arg) { -- return arg instanceof Buffer; -+ return Buffer.isBuffer(arg); - } - exports.isBuffer = isBuffer; - - function objectToString(o) { - return Object.prototype.toString.call(o); --} -- -- --function pad(n) { -- return n < 10 ? '0' + n.toString(10) : n.toString(10); --} -- -- --var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', -- 'Oct', 'Nov', 'Dec']; -- --// 26 Feb 16:19:34 --function timestamp() { -- var d = new Date(); -- var time = [pad(d.getHours()), -- pad(d.getMinutes()), -- pad(d.getSeconds())].join(':'); -- return [d.getDate(), months[d.getMonth()], time].join(' '); --} -- -- --// log is just a thin wrapper to console.log that prepends a timestamp --exports.log = function() { -- console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); --}; -- -- --/** -- * Inherit the prototype methods from one constructor into another. -- * -- * The Function.prototype.inherits from lang.js rewritten as a standalone -- * function (not on Function.prototype). NOTE: If this file is to be loaded -- * during bootstrapping this function needs to be rewritten using some native -- * functions as prototype setup using normal JavaScript does not work as -- * expected during bootstrapping (see mirror.js in r114903). -- * -- * @param {function} ctor Constructor function which needs to inherit the -- * prototype. -- * @param {function} superCtor Constructor function to inherit prototype from. -- */ --exports.inherits = function(ctor, superCtor) { -- ctor.super_ = superCtor; -- ctor.prototype = Object.create(superCtor.prototype, { -- constructor: { -- value: ctor, -- enumerable: false, -- writable: true, -- configurable: true -- } -- }); --}; -- --exports._extend = function(origin, add) { -- // Don't do anything if add isn't an object -- if (!add || !isObject(add)) return origin; -- -- var keys = Object.keys(add); -- var i = keys.length; -- while (i--) { -- origin[keys[i]] = add[keys[i]]; -- } -- return origin; --}; -- --function hasOwnProperty(obj, prop) { -- return Object.prototype.hasOwnProperty.call(obj, prop); --} -- -- --// Deprecated old stuff. -- --exports.p = exports.deprecate(function() { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- console.error(exports.inspect(arguments[i])); -- } --}, 'util.p: Use console.error() instead'); -- -- --exports.exec = exports.deprecate(function() { -- return require('child_process').exec.apply(this, arguments); --}, 'util.exec is now called `child_process.exec`.'); -- -- --exports.print = exports.deprecate(function() { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- process.stdout.write(String(arguments[i])); -- } --}, 'util.print: Use console.log instead'); -- -- --exports.puts = exports.deprecate(function() { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- process.stdout.write(arguments[i] + '\n'); -- } --}, 'util.puts: Use console.log instead'); -- -- --exports.debug = exports.deprecate(function(x) { -- process.stderr.write('DEBUG: ' + x + '\n'); --}, 'util.debug: Use console.error instead'); -- -- --exports.error = exports.deprecate(function(x) { -- for (var i = 0, len = arguments.length; i < len; ++i) { -- process.stderr.write(arguments[i] + '\n'); -- } --}, 'util.error: Use console.error instead'); -- -- --exports.pump = exports.deprecate(function(readStream, writeStream, callback) { -- var callbackCalled = false; -- -- function call(a, b, c) { -- if (callback && !callbackCalled) { -- callback(a, b, c); -- callbackCalled = true; -- } -- } -- -- readStream.addListener('data', function(chunk) { -- if (writeStream.write(chunk) === false) readStream.pause(); -- }); -- -- writeStream.addListener('drain', function() { -- readStream.resume(); -- }); -- -- readStream.addListener('end', function() { -- writeStream.end(); -- }); -- -- readStream.addListener('close', function() { -- call(); -- }); -- -- readStream.addListener('error', function(err) { -- writeStream.end(); -- call(err); -- }); -- -- writeStream.addListener('error', function(err) { -- readStream.destroy(); -- call(err); -- }); --}, 'util.pump(): Use readableStream.pipe() instead'); -- -- --var uv; --exports._errnoException = function(err, syscall) { -- if (isUndefined(uv)) uv = process.binding('uv'); -- var errname = uv.errname(err); -- var e = new Error(syscall + ' ' + errname); -- e.code = errname; -- e.errno = errname; -- e.syscall = syscall; -- return e; --}; -+} \ No newline at end of file diff --git a/node_modules/core-util-is/lib/util.js b/node_modules/core-util-is/lib/util.js deleted file mode 100644 index ff4c851..0000000 --- a/node_modules/core-util-is/lib/util.js +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. - -function isArray(arg) { - if (Array.isArray) { - return Array.isArray(arg); - } - return objectToString(arg) === '[object Array]'; -} -exports.isArray = isArray; - -function isBoolean(arg) { - return typeof arg === 'boolean'; -} -exports.isBoolean = isBoolean; - -function isNull(arg) { - return arg === null; -} -exports.isNull = isNull; - -function isNullOrUndefined(arg) { - return arg == null; -} -exports.isNullOrUndefined = isNullOrUndefined; - -function isNumber(arg) { - return typeof arg === 'number'; -} -exports.isNumber = isNumber; - -function isString(arg) { - return typeof arg === 'string'; -} -exports.isString = isString; - -function isSymbol(arg) { - return typeof arg === 'symbol'; -} -exports.isSymbol = isSymbol; - -function isUndefined(arg) { - return arg === void 0; -} -exports.isUndefined = isUndefined; - -function isRegExp(re) { - return objectToString(re) === '[object RegExp]'; -} -exports.isRegExp = isRegExp; - -function isObject(arg) { - return typeof arg === 'object' && arg !== null; -} -exports.isObject = isObject; - -function isDate(d) { - return objectToString(d) === '[object Date]'; -} -exports.isDate = isDate; - -function isError(e) { - return (objectToString(e) === '[object Error]' || e instanceof Error); -} -exports.isError = isError; - -function isFunction(arg) { - return typeof arg === 'function'; -} -exports.isFunction = isFunction; - -function isPrimitive(arg) { - return arg === null || - typeof arg === 'boolean' || - typeof arg === 'number' || - typeof arg === 'string' || - typeof arg === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; -} -exports.isPrimitive = isPrimitive; - -exports.isBuffer = Buffer.isBuffer; - -function objectToString(o) { - return Object.prototype.toString.call(o); -} diff --git a/node_modules/core-util-is/package.json b/node_modules/core-util-is/package.json deleted file mode 100644 index 3368e95..0000000 --- a/node_modules/core-util-is/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "core-util-is", - "version": "1.0.2", - "description": "The `util.is*` functions introduced in Node v0.12.", - "main": "lib/util.js", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/core-util-is" - }, - "keywords": [ - "util", - "isBuffer", - "isArray", - "isNumber", - "isString", - "isRegExp", - "isThis", - "isThat", - "polyfill" - ], - "author": "Isaac Z. Schlueter (http://blog.izs.me/)", - "license": "MIT", - "bugs": { - "url": "https://github.com/isaacs/core-util-is/issues" - }, - "scripts": { - "test": "tap test.js" - }, - "devDependencies": { - "tap": "^2.3.0" - } -} diff --git a/node_modules/core-util-is/test.js b/node_modules/core-util-is/test.js deleted file mode 100644 index 1a490c6..0000000 --- a/node_modules/core-util-is/test.js +++ /dev/null @@ -1,68 +0,0 @@ -var assert = require('tap'); - -var t = require('./lib/util'); - -assert.equal(t.isArray([]), true); -assert.equal(t.isArray({}), false); - -assert.equal(t.isBoolean(null), false); -assert.equal(t.isBoolean(true), true); -assert.equal(t.isBoolean(false), true); - -assert.equal(t.isNull(null), true); -assert.equal(t.isNull(undefined), false); -assert.equal(t.isNull(false), false); -assert.equal(t.isNull(), false); - -assert.equal(t.isNullOrUndefined(null), true); -assert.equal(t.isNullOrUndefined(undefined), true); -assert.equal(t.isNullOrUndefined(false), false); -assert.equal(t.isNullOrUndefined(), true); - -assert.equal(t.isNumber(null), false); -assert.equal(t.isNumber('1'), false); -assert.equal(t.isNumber(1), true); - -assert.equal(t.isString(null), false); -assert.equal(t.isString('1'), true); -assert.equal(t.isString(1), false); - -assert.equal(t.isSymbol(null), false); -assert.equal(t.isSymbol('1'), false); -assert.equal(t.isSymbol(1), false); -assert.equal(t.isSymbol(Symbol()), true); - -assert.equal(t.isUndefined(null), false); -assert.equal(t.isUndefined(undefined), true); -assert.equal(t.isUndefined(false), false); -assert.equal(t.isUndefined(), true); - -assert.equal(t.isRegExp(null), false); -assert.equal(t.isRegExp('1'), false); -assert.equal(t.isRegExp(new RegExp()), true); - -assert.equal(t.isObject({}), true); -assert.equal(t.isObject([]), true); -assert.equal(t.isObject(new RegExp()), true); -assert.equal(t.isObject(new Date()), true); - -assert.equal(t.isDate(null), false); -assert.equal(t.isDate('1'), false); -assert.equal(t.isDate(new Date()), true); - -assert.equal(t.isError(null), false); -assert.equal(t.isError({ err: true }), false); -assert.equal(t.isError(new Error()), true); - -assert.equal(t.isFunction(null), false); -assert.equal(t.isFunction({ }), false); -assert.equal(t.isFunction(function() {}), true); - -assert.equal(t.isPrimitive(null), true); -assert.equal(t.isPrimitive(''), true); -assert.equal(t.isPrimitive(0), true); -assert.equal(t.isPrimitive(new Date()), false); - -assert.equal(t.isBuffer(null), false); -assert.equal(t.isBuffer({}), false); -assert.equal(t.isBuffer(new Buffer(0)), true); diff --git a/node_modules/dashdash/CHANGES.md b/node_modules/dashdash/CHANGES.md deleted file mode 100644 index d7c8f4e..0000000 --- a/node_modules/dashdash/CHANGES.md +++ /dev/null @@ -1,364 +0,0 @@ -# node-dashdash changelog - -## not yet released - -(nothing yet) - -## 1.14.1 - -- [issue #30] Change the output used by dashdash's Bash completion support to - indicate "there are no completions for this argument" to cope with different - sorting rules on different Bash/platforms. For example: - - $ triton -v -p test2 package get # before - ##-no -tritonpackage- completions-## - - $ triton -v -p test2 package get # after - ##-no-completion- -results-## - -## 1.14.0 - -- New `synopsisFromOpt(